aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/drm
AgeCommit message (Collapse)Author
2005-08-05drm: updated DRM map patch for 32/64 bit systemsDave Airlie
I basically combined Paul's patches with additions that I had made for PCI scatter gather. I also tried more carefully to avoid problems with the same token assigned multiple times while trying to use the base address in the token if possible to gain as much backward compatibility as possible for broken DRI clients. From: Paul Mackerras <paulus@samba.org> and Egbert Eich <eich@suse.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05drm: copy the right data back to userspace for getreserved contexts ioctlDave Airlie
This fixes the information copied back to userspace by the get reserved contexts ioctl. From: Egbert Eich <eich@suse.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05drm: fix ioctl direction in r128 getparamDave Airlie
Set the IOWR correctly for r128 getparam. From: Egbert Eich <eich@suse.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-30Merge ../linux-2.6/Dave Airlie
2005-07-27[PATCH] drm: via: fix sparse warningsAlexey Dobriyan
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-10drm: cleanup buffer/map codeDave Airlie
This is a patch from DRM CVS that cleans up some code that was in CVS that I never moved to the kernel, this patch produces the result of the cleanups and puts it into the kernel drm. From: Eric Anholt <anholt@freebsd.org>, Jon Smirl, Dave Airlie Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: add mga driver callbacksDave Airlie
Add some missing driver callback for the PCI support Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10Add support for PCI MGA cards to MGA DRM.Dave Airlie
This patch adds serveral new ioctls and a new query to get_param query to support PCI MGA cards. Two ioctls were added to implement interrupt based waiting. With this change, the client-side driver no longer needs to map the primary DMA region or the MMIO region. Previously, end-of-frame waiting was done by busy waiting in the client-side driver until one of the MMIO registers (the current DMA pointer) matched a pointer to the end of primary DMA space. By using interrupts, the busy waiting and the extra mappings are removed. A third ioctl was added to bootstrap DMA. This ioctl, which is used by the X-server, moves a *LOT* of code from the X-server into the kernel. This allows the kernel to do whatever needs to be done to setup DMA buffers. The entire process and the locations of the buffers are hidden from user-mode. Additionally, a get_param query was added to differentiate between G4x0 cards and G550 cards. A gap was left in the numbering sequence so that, if needed, G450 cards could be distinguished from G400 cards. According to Ville Syrjälä, the G4x0 cards and the G550 cards handle anisotropic filtering differently. This seems the most compatible way to let the client-side driver know which card it's own. Doing this very small change now eliminates the need to bump the DRM minor version twice. http://marc.theaimsgroup.com/?l=dri-devel&m=106625815319773&w=2 (airlied - this may not work at this point, I think the follow on buffer cleanup patches will be needed) From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: make drm_alloc_agp take a dev arg.Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: add new mga ids and typesDave Airlie
From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: add test for AGP devices and driver override for it.Dave Airlie
Added device_is_agp callback to drm_driver. This function is called by the platform-specific drm_device_is_agp function. Added implementation of this function the the Linux-specific portion of the MGA driver to detect PCI G450 cards. Added code to the Linux-specific portion of the generic DRM layer to not initialize AGP infrastructure if the card is not AGP (this matches what already existed in BSD). Fix up i810/i830 and i915 drivers to always return AGP as they don't always report the capability. Fix the MGA to not report AGP for a card that has an AGP chip behind a PCI bridge. From: Ian Romanick, Dave Airlie, Alan Hourihane Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: destatic exported function.Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: export symbols for use by driversDave Airlie
This just exports symbols for use in drivers. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: fix minor function header issueDave Airlie
From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: update some function so a driver can call themDave Airlie
This patch splits some ioctl functions so that they can be called in-kernel by a DRM driver. The driver will use them later. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: update support for drm pci buffersDave Airlie
The DRM needs to change the drm_pci interface for FreeBSD compatiblity, this patch introduces the drm_dma_handle_t and uses it in the Linux code. From: Tonnerre Lombard, Eric Anholt, and Sergey Vlasov Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-10Refactor common, boilerplate ioctl code from drm_addbufs_* functions intoDave Airlie
drm_addbufs. This makes the code more like the BSD code, and makes the drm_addbufs_* functions callable in-kernel. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: add framebuffer mapsDave Airlie
The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory The attached patch adds a new buffer type DRM_FB_BUFFER. It works like AGP memory but uses video memory. From: Austin Yuan <austinyuan@viatech.com.cn> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10drm: add _DRM_CONSISTENT map typeDave Airlie
Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It uses drm_pci_alloc/free for allocating/freeing the memory. From: Felix Kuhling <fxkuehl@gmx.de> Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-10drm: fix stupid missing semicolon.Dave Airlie
I fixed this in one git tree but that wasn't the one I pushed... Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-09Merge head 'drm-fixes' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6
2005-07-09Merge head 'drm-3264' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6
2005-07-07drm: add 32/64 support for MGA/R128/i915Dave Airlie
This adds compatiblity ioctls for mga/r128 and i915 DRM drivers. From: Paul Mackerras, David Airlie, Alan Hourihane, Egbert Eich. Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-07drm: wrap config.h include in a ifdef KERNELDave Airlie
This file can be included from userspace so wrap the config.h include. Signed-off-by: David Airlie <airlied@linux.ie>
2005-07-07drm: misc cleanupDave Airlie
This patch contains the following cleanups: - make needlessly global functions static - remove the following unused global functions: - drm_fops.c: drm_read - i915_dma.c: i915_do_cleanup_pageflip Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-07drm: use kcalloc now that it is available..Dave Airlie
Make the DRM drm_calloc call kcalloc now. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-07drm: ctx release can happen before dev->ctxlist is allocatedDave Airlie
From: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-07drm: fix minor issues caused by core conversionDave Airlie
The conversion to core/driver got this check in-correct. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-28drm: Add via unichrome supportDave Airlie
Add DRM device driver for VIA Unichrome chipsets From: Unichrome Project http://unichrome.sf.net, Erdi Chen, Thomas Hellstrom Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-26Merge 'drm-3264' branch of ↵Linus Torvalds
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
2005-06-26drm: fix radeon irq properlyDave Airlie
After the previous fix in 2.6.12, this patch should properly fix the radeon IRQ handling code. From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-23Add missing license texts from Tungsten Graphics.Dave Airlie
From: Alan Hourihane Signed-off-by: David Airlie <airlied@linux.ie>
2005-06-23Currently DRM depends on PCI this will need to change for ffb on Sparc toDave Airlie
be fixed but at the moment it is true. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-23drm: 32/64-bit DRM ioctl compatibility patchDave Airlie
The patch is against a 2.6.11 kernel tree. I am running this with a 32-bit X server (compiled up from X.org CVS as of a couple of weeks ago) and 32-bit DRI libraries and clients. All the userland stuff is identical to what I am using under a 32-bit kernel on my G4 powerbook (which is a 32-bit machine of course). I haven't tried compiling up a 64-bit X server or clients yet. In the compatibility routines I have assumed that the kernel can safely access user addresses after set_fs(KERNEL_DS). That is, where an ioctl argument structure contains pointers to other structures, and those other structures are already compatible between the 32-bit and 64-bit ABIs (i.e. they only contain things like chars, shorts or ints), I just check the address with access_ok() and then pass it through to the 64-bit ioctl code. I believe this approach may not work on sparc64, but it does work on ppc64 and x86_64 at least. One tricky area which may need to be revisited is the question of how to handle the handles which we pass back to userspace to identify mappings. These handles are generated in the ADDMAP ioctl and then passed in as the offset value to mmap. However, offset values for mmap seem to be generated in other ways as well, particularly for AGP mappings. The approach I have ended up with is to generate a fake 32-bit handle only for _DRM_SHM mappings. The handles for other mappings (AGP, REG, FB) are physical addresses which are already limited to 32 bits, and generating fake handles for them created all sorts of problems in the mmap/nopage code. This patch has been updated to use the new compatibility ioctls. From: Paul Mackerras <paulus@samba.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-10[PATCH] remove bogus hack from radeon IRQ handlerDave Airlie
This removes a bogus hack from the radeon IRQ handler. There is a better fix from myself and benh in DRM CVS but I'll wait until 2.6.13-rc so it gets more testing. Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-06-10[PATCH] drm add i945G pci idDave Airlie
Add pci identifier for i945G chipset Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-04-16[PATCH] r128_state.c: break missing in switch statementDave Airlie
drm: fix r128_state.c switch statements.. in drivers/char/drm/r128_state.c (linux-2.6.12-rc2), some breaks are missing in the switch statement. See trivial fix below. Signed-off-by: Hansjoerg Lipp <hjlipp@web.de> Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16Linux-2.6.12-rc2Linus Torvalds
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!