mesa-drm/linux-core
Keith Packard 2c8f970baa Unlock pages right after getting them.
pages come back from find_or_create_page locked, but must not stay locked
for long. Unlock them immediately instead of waiting until we're done with
them to avoid deadlock when applications try to touch them.
2008-05-05 17:17:19 -07:00
..
.gitignore
ati_pcigart.c drm/pcigart: fix the pci gart to use the drm_pci wrapper. 2008-03-17 07:05:46 +10:00
Config.in
Doxyfile
drm.h
drm_agpsupport.c Fix offset passed to AGP to be pages instead of bytes. 2008-05-01 17:31:29 -07:00
drm_auth.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
drm_bo.c Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
drm_bo_lock.c Fix buffer object creation validation. 2008-04-14 12:14:20 +02:00
drm_bo_move.c Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
drm_bufs.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
drm_compat.c Fix up buffer manager locking. 2008-04-14 12:13:17 +02:00
drm_compat.h drm/pcigart: fix the pci gart to use the drm_pci wrapper. 2008-03-17 07:05:46 +10:00
drm_context.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
drm_core.h
drm_dma.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
drm_drawable.c
drm_drv.c Add name/open ioctls, separate handle and pointer ref counts. 2008-05-02 12:29:17 -07:00
drm_fence.c Initialize the fence::error member. 2008-03-30 21:30:43 +02:00
drm_fops.c checkpoint: rename to GEM and a few more i915 bits. 2008-05-01 11:39:20 -07:00
drm_gem.c Check for do_mmap errors 2008-05-02 17:13:11 -07:00
drm_hashtab.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
drm_hashtab.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
drm_internal.h Add new shared header file drm_internal.h. 2007-11-14 14:28:34 -05:00
drm_ioc32.c Fix ioc32 compat layer 2007-09-18 11:03:08 -07:00
drm_ioctl.c drm: more cleanups 2007-11-29 09:38:21 +10:00
drm_irq.c Don't free irq resources until after we've unregistered the handler. 2008-02-21 15:31:48 -05:00
drm_lock.c fix build problems 2008-03-14 00:25:42 +00:00
drm_memory.c checkpoint: relocations support. 2008-05-01 15:22:21 -07:00
drm_memory.h drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
drm_memory_debug.c
drm_memory_debug.h
drm_memrange.c GEM: Replace drm_memrange_for_each with just evicting what we brought in. 2008-05-05 14:38:26 -07:00
drm_object.c drm: reorganise minor number handling using code from modesetting branch 2008-03-06 05:21:50 +10:00
drm_objects.h Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
drm_os_linux.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
drm_pci.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
drm_proc.c Add a bit of /proc/dri/*/gem support. Clean up some refcount/pagelock issues. 2008-05-02 16:34:16 -07:00
drm_regman.c drm: cleanup drm_regman.c coding style 2007-11-22 13:29:17 +10:00
drm_sarea.h
drm_scatter.c drm: Fix for non-coherent DMA PowerPC 2008-03-05 19:25:03 +10:00
drm_sman.c Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
drm_sman.h Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
drm_stub.c Add a bit of /proc/dri/*/gem support. Clean up some refcount/pagelock issues. 2008-05-02 16:34:16 -07:00
drm_sysfs.c drm: reorganise minor number handling using code from modesetting branch 2008-03-06 05:21:50 +10:00
drm_ttm.c Missing KERNEL_VERSION macro 2008-04-07 22:24:24 +02:00
drm_vm.c Unlock the BO mutex while waiting for idle, unmapped, unfenced. 2008-04-14 12:13:33 +02:00
drmP.h GEM: Replace drm_memrange_for_each with just evicting what we brought in. 2008-05-05 14:38:26 -07:00
ffb_context.c
ffb_drv.c
ffb_drv.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
i810_dma.c drm: reorganise minor number handling using code from modesetting branch 2008-03-06 05:21:50 +10:00
i810_drm.h drm: remove XFREE86_VERSION macros 2007-08-28 15:17:36 +10:00
i810_drv.c
i810_drv.h drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
i915_buffer.c [I915] Fix VRAM eviction. 2008-04-06 10:30:27 +02:00
i915_compat.c i915/flush: get the ret the right way around 2008-01-23 16:45:09 +10:00
i915_dma.c
i915_drm.h
i915_drv.c Add a bit of /proc/dri/*/gem support. Clean up some refcount/pagelock issues. 2008-05-02 16:34:16 -07:00
i915_drv.h
i915_execbuf.c Unlock the BO mutex while waiting for idle, unmapped, unfenced. 2008-04-14 12:13:33 +02:00
i915_fence.c Don't call fence::poll during irq if there are no waiters. 2008-03-30 15:11:47 +02:00
i915_gem.c Unlock pages right after getting them. 2008-05-05 17:17:19 -07:00
i915_ioc32.c i915: return fence argument from i915_execbuffer ioctl32 routine 2007-12-26 17:13:58 +08:00
i915_irq.c
i915_mem.c
imagine_drv.c
Kconfig
linux
mach64_dma.c
mach64_drm.h
mach64_drv.c Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
mach64_drv.h
mach64_irq.c
mach64_state.c
Makefile Emit clflush and chipset flush when mapping objects to gtt 2008-05-05 13:32:28 -07:00
Makefile.kernel checkpoint: rename to GEM and a few more i915 bits. 2008-05-01 11:39:20 -07:00
mga_dma.c
mga_drm.h
mga_drv.c Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
mga_drv.h
mga_ioc32.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
mga_irq.c
mga_state.c
mga_ucode.h
mga_warp.c
nouveau_bo.c Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
nouveau_dma.c nouveau: ouch, add nouveau_dma.[ch] files.. 2007-08-06 22:32:36 +10:00
nouveau_dma.h nouveau: ouch, add nouveau_dma.[ch] files.. 2007-08-06 22:32:36 +10:00
nouveau_drm.h
nouveau_drv.c linux-core Makefile: add GIT_REVISION 2008-04-22 22:07:21 +03:00
nouveau_drv.h
nouveau_fence.c nouveau: enable m2mf for tt<->vram moves, fix fence_poll 2008-04-07 13:05:51 +10:00
nouveau_fifo.c
nouveau_ioc32.c
nouveau_irq.c
nouveau_mem.c
nouveau_notifier.c
nouveau_object.c
nouveau_reg.h
nouveau_sgdma.c Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
nouveau_state.c
nouveau_swmthd.c nouveau: mandatory "oops I forgot half of the files" commit 2007-10-12 22:40:08 +02:00
nouveau_swmthd.h nouveau: mandatory "oops I forgot half of the files" commit 2007-10-12 22:40:08 +02:00
nv04_fb.c
nv04_fifo.c
nv04_graph.c
nv04_instmem.c
nv04_mc.c
nv04_timer.c
nv10_fb.c
nv10_fifo.c
nv10_graph.c
nv20_graph.c nouveau: rename nv30_graph.c to nv20_graph.c 2007-09-30 22:16:01 +03:00
nv40_fb.c
nv40_fifo.c
nv40_graph.c
nv40_mc.c
nv50_fifo.c
nv50_graph.c
nv50_instmem.c
nv50_mc.c
nv_drv.c
nv_drv.h
r128_cce.c
r128_drm.h
r128_drv.c Merge branch 'master' into vblank-rework, fixup remaining drivers 2007-10-30 12:52:46 -07:00
r128_drv.h
r128_ioc32.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
r128_irq.c
r128_state.c
r300_cmdbuf.c
r300_reg.h
radeon_cp.c
radeon_drm.h
radeon_drv.c Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
radeon_drv.h
radeon_ioc32.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
radeon_irq.c
radeon_mem.c
radeon_state.c
README.drm
savage_bci.c
savage_drm.h
savage_drv.c
savage_drv.h
savage_state.c
sis_drm.h
sis_drv.c
sis_drv.h
sis_mm.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
tdfx_drv.c
tdfx_drv.h
via_3d_reg.h
via_buffer.c Rename inappropriately named 'mask' fields to 'proposed_flags' instead. 2007-12-21 12:16:29 -08:00
via_dma.c
via_dmablit.c [via] Allow a little larger stride for SG DMA DownloadFromScreen. 2008-03-16 11:45:57 +01:00
via_dmablit.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
via_drm.h
via_drv.c
via_drv.h
via_fence.c Simplify the fencing code and differentiate between flushes and 2008-01-30 22:06:02 +01:00
via_irq.c
via_map.c
via_mm.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
via_verifier.c
via_verifier.h
via_video.c
xgi_cmdlist.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
xgi_cmdlist.h Implement fence support. 2007-08-15 21:05:26 -07:00
xgi_drm.h
xgi_drv.c Simplify the fencing code and differentiate between flushes and 2008-01-30 22:06:02 +01:00
xgi_drv.h drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
xgi_fb.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
xgi_fence.c Simplify the fencing code and differentiate between flushes and 2008-01-30 22:06:02 +01:00
xgi_ioc32.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
xgi_misc.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
xgi_misc.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
xgi_pcie.c drm/pcigart: fix the pci gart to use the drm_pci wrapper. 2008-03-17 07:05:46 +10:00
xgi_regs.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.freedesktop.org/                          *
************************************************************

The Direct Rendering Manager (drm) is a device-independent kernel-level
device driver that provides support for the XFree86 Direct Rendering
Infrastructure (DRI).

The DRM supports the Direct Rendering Infrastructure (DRI) in four major
ways:

    1. The DRM provides synchronized access to the graphics hardware via
       the use of an optimized two-tiered lock.

    2. The DRM enforces the DRI security policy for access to the graphics
       hardware by only allowing authenticated X11 clients access to
       restricted regions of memory.

    3. The DRM provides a generic DMA engine, complete with multiple
       queues and the ability to detect the need for an OpenGL context
       switch.

    4. The DRM is extensible via the use of small device-specific modules
       that rely extensively on the API exported by the DRM module.