drm/linux-core
Eric Anholt f85fd1b42d intel-gem: Speed up tiled readpixels by tracking which pages have been flushed.
This is around 3x or so speedup, since we would read wide rows at a time, and
clflush each tile 8 times as a result.  We'll want code related to this anyway
when we do fault-based per-page clflushing for sw fallbacks.
2008-07-28 11:25:19 -07:00
..
.gitignore linux-core: Make git ignore generated module symbol version files. 2007-01-02 10:02:44 +01:00
Config.in Added via driver to drm/linux/Config.in Reported by: Terry Barnaby 2004-03-26 13:42:48 +00:00
Doxyfile Update Doxygen configuration & comments. 2004-10-18 14:16:41 +00:00
Kconfig Remove old i830 kernel driver. 2007-03-19 11:46:35 +00:00
Makefile Use /bin/pwd instead of trusting shell built-in 2008-06-13 14:29:45 -07:00
Makefile.kernel intel-gem: Move debug-only functions to a separate file. 2008-07-26 19:52:47 -07:00
README.drm Fix some outdated URLs, remove others. 2007-02-12 15:45:51 -05:00
ati_pcigart.c ati_pcigart: oops wrong way around not that it actually mattered 2008-05-14 22:48:12 +10:00
drm-gem.txt [GEM] Typo (and thinking) fixes in drm-gem.txt and doxygen. 2008-05-12 13:17:01 -07:00
drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
drmP.h Add device-specific proc_init and proc_cleanup hooks 2008-06-20 16:40:14 -07:00
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 drm: nopage compat fixup for drm_vm 2008-05-07 15:10:23 +10:00
drm_compat.h drm_compat: it's CONFIG_HIGHMEM, not CONFIG_HIMEM 2008-06-24 09:52:33 -07:00
drm_context.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
drm_core.h Add support for secondary vertical blank interrupt to DRM core. 2006-09-29 12:55:08 +02:00
drm_dma.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
drm_drawable.c Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. 2007-07-20 18:16:42 -07:00
drm_drv.c Add device-specific proc_init and proc_cleanup hooks 2008-06-20 16:40:14 -07:00
drm_fence.c Initialize the fence::error member. 2008-03-30 21:30:43 +02:00
drm_fops.c Merge commit 'origin/master' into drm-gem 2008-05-30 14:42:08 -07:00
drm_gem.c [intel-gem] add gtt and pin counts to /proc/dri/*/gem_objects 2008-06-13 15:43:02 -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 [linux] Use the device's irq for handler setup instead of stale dev->irq. 2008-06-16 15:09:11 -07:00
drm_lock.c [gem] Remove the drm_client_lock_take in set_domain. 2008-06-11 16:19:23 -07: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 Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. 2007-07-20 18:16:42 -07:00
drm_memory_debug.h Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. 2007-07-20 18:16:42 -07:00
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 Revert "ati_pcigart: fixup properly this version might even work" 2008-05-14 22:43:28 +10:00
drm_objects.h Revert "ati_pcigart: fixup properly this version might even work" 2008-05-14 22:43:28 +10: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 [intel-gem] show total GTT space in /proc/dri/*/gem_objects 2008-06-13 19:35:22 -07:00
drm_regman.c drm: cleanup drm_regman.c coding style 2007-11-22 13:29:17 +10:00
drm_sarea.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
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 device-specific proc_init and proc_cleanup hooks 2008-06-20 16:40:14 -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 drm: nopage compat fixup for drm_vm 2008-05-07 15:10:23 +10:00
drm_vm_nopage_compat.c drm: nopage compat fixup for drm_vm 2008-05-07 15:10:23 +10:00
ffb_context.c Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. 2007-07-20 18:16:42 -07:00
ffb_drv.c Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. 2007-07-20 18:16:42 -07:00
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 remove config.h from build no longer exists kbuild does it 2006-10-14 23:38:20 +10:00
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 Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
i915_drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
i915_drv.c [intel-gem] Add intel-specific /proc entries to help monitor gem operation 2008-06-20 21:07:46 -07:00
i915_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
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 intel-gem: Speed up tiled readpixels by tracking which pages have been flushed. 2008-07-28 11:25:19 -07:00
i915_gem_proc.c intel-gem: Move /proc debugging to a separate file. 2008-07-23 10:10:44 -07:00
i915_gem_tiling.c intel-gem: Remove recently added pci_read_base prototype. 2008-07-21 14:21:16 -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 Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
i915_mem.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
imagine_drv.c remove config.h from build no longer exists kbuild does it 2006-10-14 23:38:20 +10:00
linux Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mach64_dma.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mach64_drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mach64_drv.c Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
mach64_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mach64_irq.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mach64_state.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mga_dma.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mga_drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mga_drv.c Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
mga_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mga_ioc32.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
mga_irq.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mga_state.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mga_ucode.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
mga_warp.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
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 add nouveau symlinks via git 2006-12-20 10:28:55 +11:00
nouveau_drv.c linux-core Makefile: add GIT_REVISION 2008-04-22 22:07:21 +03:00
nouveau_drv.h add nouveau symlinks via git 2006-12-20 10:28:55 +11:00
nouveau_fence.c nouveau: enable m2mf for tt<->vram moves, fix fence_poll 2008-04-07 13:05:51 +10:00
nouveau_fifo.c Revert "nouveau: Fill in context_init for nv10-nv3x." 2007-01-10 15:19:47 +11:00
nouveau_ioc32.c remove include of linux ioctl32.h from drm drivers 2007-06-05 18:16:44 +10:00
nouveau_irq.c add nouveau symlinks via git 2006-12-20 10:28:55 +11:00
nouveau_mem.c add nouveau symlinks via git 2006-12-20 10:28:55 +11:00
nouveau_notifier.c nouveau: Nuke DMA_OBJECT_INIT ioctl (bumps interface to 0.0.7) 2007-06-28 03:26:43 +10:00
nouveau_object.c add nouveau symlinks via git 2006-12-20 10:28:55 +11:00
nouveau_reg.h add nouveau symlinks via git 2006-12-20 10:28:55 +11:00
nouveau_sgdma.c Rename drm_mm.c and its fuctions to drm_memrange. 2008-04-28 16:54:53 -07:00
nouveau_state.c add nouveau symlinks via git 2006-12-20 10:28:55 +11:00
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 nouveau: move card initialisation into the drm 2007-03-26 20:59:37 +10:00
nv04_fifo.c nouveau: NV04 PFIFO engtab functions 2007-06-24 18:57:09 +10:00
nv04_graph.c nouveau: add missing nv04_graph.c symlink. 2007-02-03 06:02:12 +01:00
nv04_instmem.c nouveau/nv50: Initial channel/object support 2007-07-09 16:16:44 +10:00
nv04_mc.c nouveau: move card initialisation into the drm 2007-03-26 20:59:37 +10:00
nv04_timer.c nouveau: move card initialisation into the drm 2007-03-26 20:59:37 +10:00
nv10_fb.c nouveau: move card initialisation into the drm 2007-03-26 20:59:37 +10:00
nv10_fifo.c nouveau: NV1X/2X/3X PFIFO engtab functions 2007-06-24 18:58:14 +10:00
nv10_graph.c nouveau: first step to make graph ctx works 2007-01-13 21:44:50 +01:00
nv20_graph.c nouveau: rename nv30_graph.c to nv20_graph.c 2007-09-30 22:16:01 +03:00
nv40_fb.c nouveau: move card initialisation into the drm 2007-03-26 20:59:37 +10:00
nv40_fifo.c nouveau: NV4X PFIFO engtab functions 2007-06-24 18:56:01 +10:00
nv40_graph.c nouveau: Add nv40-specific PGRAPH code, not hooked up yet. 2007-01-02 14:52:43 +11:00
nv40_mc.c nouveau: move card initialisation into the drm 2007-03-26 20:59:37 +10:00
nv50_fifo.c nouveau/nv50: skeletal backend 2007-06-28 03:26:43 +10:00
nv50_graph.c nouveau/nv50: skeletal backend 2007-06-28 03:26:43 +10:00
nv50_instmem.c nouveau/nv50: Initial channel/object support 2007-07-09 16:16:44 +10:00
nv50_mc.c nouveau/nv50: skeletal backend 2007-06-28 03:26:43 +10:00
nv_drv.c remove config.h from build no longer exists kbuild does it 2006-10-14 23:38:20 +10:00
nv_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
r128_cce.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
r128_drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
r128_drv.c Merge branch 'master' into vblank-rework, fixup remaining drivers 2007-10-30 12:52:46 -07:00
r128_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
r128_ioc32.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
r128_irq.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
r128_state.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
r300_cmdbuf.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
r300_reg.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
radeon_cp.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
radeon_drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
radeon_drv.c Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
radeon_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
radeon_ioc32.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
radeon_irq.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
radeon_mem.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
radeon_microcode.h radeon: split microcode out into a separate header file. 2008-05-28 11:12:57 +10:00
radeon_state.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
savage_bci.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
savage_drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
savage_drv.c remove config.h from build no longer exists kbuild does it 2006-10-14 23:38:20 +10:00
savage_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
savage_state.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
sis_drm.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
sis_drv.c Remove DRM_ERR OS macro. 2007-07-20 12:53:52 -07:00
sis_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
sis_mm.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
tdfx_drv.c remove config.h from build no longer exists kbuild does it 2006-10-14 23:38:20 +10:00
tdfx_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_3d_reg.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_buffer.c Rename inappropriately named 'mask' fields to 'proposed_flags' instead. 2007-12-21 12:16:29 -08:00
via_dma.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
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 Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_drv.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_drv.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_fence.c Simplify the fencing code and differentiate between flushes and 2008-01-30 22:06:02 +01:00
via_irq.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_map.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_mm.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
via_verifier.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_verifier.h Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
via_video.c Track linux-core symlinks in git. 2006-12-01 10:37:55 +01:00
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 Move types shared with user mode to xgi_drm.h. 2007-07-09 16:33:14 -07:00
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

README.drm

************************************************************
* 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.