linux/drivers/char/drm
Thomas Hellstrom 8d153f7107 drm: update user token hashing and map handles
Keep hashed user tokens, with the following changes:
32-bit physical device addresses are mapped directly to user-tokens. No
    duplicate maps are allowed, and the addresses are assumed to be outside
    of the range 0x10000000 through 0x30000000. The user-token is identical
    to the 32-bit physical start-address of the map.
64-bit physical device addressed are mapped to user-tokens in the range
0x10000000 to 0x30000000 with page-size increments. The user_token should
    not be interpreted as an address.
Other map types, like upcoming TTM maps are mapped to user-tokens in the
    range
0x10000000 to 0x30000000 with page-size increments. The user_token should
    not be interpreted as an address.

Implement hashed map lookups.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-09-22 05:32:31 +10:00
..
ati_pcigart.c drm: ati_pcigart: simplify page_count manipulations 2006-01-25 14:58:58 +11:00
drm_agpsupport.c drm: possible cleanups 2006-04-23 18:26:40 +10:00
drm_auth.c drm: move drm authentication to new generic hash table. 2006-09-22 05:32:31 +10:00
drm_bufs.c drm: update user token hashing and map handles 2006-09-22 05:32:31 +10:00
drm_context.c sem2mutex: drivers/char/drm/ 2006-02-02 19:37:46 +11:00
drm_core.h drm: add in-kernel entry points for rest of AGP ioctls 2005-11-11 22:33:39 +11:00
drm_dma.c drm: fixup PCI DMA support 2006-03-19 18:56:12 +11:00
drm_drawable.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_drv.c drm: move drm authentication to new generic hash table. 2006-09-22 05:32:31 +10:00
drm_fops.c drm: move drm authentication to new generic hash table. 2006-09-22 05:32:31 +10:00
drm_hashtab.c drm: add simple DRM memory manager, and hash table 2006-09-22 05:32:31 +10:00
drm_hashtab.h drm: update user token hashing and map handles 2006-09-22 05:32:31 +10:00
drm_ioc32.c drm: cleanup old compat code and DRM fns from Linux only code 2006-09-22 05:32:30 +10:00
drm_ioctl.c drm: remove the DRM pci domain 2006-09-22 05:32:30 +10:00
drm_irq.c drm: remove the DRM pci domain 2006-09-22 05:32:30 +10:00
drm_lock.c drm: merge in Linus mainline 2006-01-03 18:18:01 +11:00
drm_memory_debug.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_memory.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_memory.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_mm.c drm: add simple DRM memory manager, and hash table 2006-09-22 05:32:31 +10:00
drm_os_linux.h drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
drm_pci.c drm: drm_pci needs dma-mapping.h 2006-04-05 18:12:18 +10:00
drm_pciids.h drm: Add the P4VM800PRO (?) PCI ID. 2006-09-22 05:32:31 +10:00
drm_proc.c drm: cleanup old compat code and DRM fns from Linux only code 2006-09-22 05:32:30 +10:00
drm_sarea.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_scatter.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_sman.c drm: add simple DRM memory manager, and hash table 2006-09-22 05:32:31 +10:00
drm_sman.h drm: add simple DRM memory manager, and hash table 2006-09-22 05:32:31 +10:00
drm_stub.c drm: update user token hashing and map handles 2006-09-22 05:32:31 +10:00
drm_sysfs.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_vm.c drm: update user token hashing and map handles 2006-09-22 05:32:31 +10:00
drm.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drmP.h drm: update user token hashing and map handles 2006-09-22 05:32:31 +10:00
ffb_context.c [PATCH] kfree cleanup: drivers/char 2005-11-07 07:54:02 -08:00
ffb_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ffb_drv.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i810_dma.c drm: cleanup old compat code and DRM fns from Linux only code 2006-09-22 05:32:30 +10:00
i810_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i810_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i810_drv.h drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
i830_dma.c drm: cleanup old compat code and DRM fns from Linux only code 2006-09-22 05:32:30 +10:00
i830_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i830_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i830_drv.h drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
i830_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i915_dma.c Add i915 ioctls to configure pipes for vblank interrupt. 2006-06-24 17:32:58 +10:00
i915_drm.h Add i915 ioctls to configure pipes for vblank interrupt. 2006-06-24 17:32:58 +10:00
i915_drv.c drm: update to i915 1.3.0 2006-01-02 20:14:23 +11:00
i915_drv.h Add i915 ioctls to configure pipes for vblank interrupt. 2006-06-24 17:32:58 +10:00
i915_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
i915_irq.c Add i915 ioctls to configure pipes for vblank interrupt. 2006-06-24 17:32:58 +10:00
i915_mem.c drm: i915 patches from Tungsten Graphics 2006-01-25 15:31:43 +11:00
Kconfig remove dead Radeon URL 2006-03-20 20:23:13 +01:00
Makefile drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
mga_dma.c drm: update mga driver for new bootstrap code 2005-11-11 23:11:34 +11:00
mga_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mga_drv.h drm: update mga driver for new bootstrap code 2005-11-11 23:11:34 +11:00
mga_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
mga_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_state.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
mga_ucode.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_warp.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_cce.c drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_drm.h drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r128_drv.h drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
r128_irq.c drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_state.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
r300_cmdbuf.c drm: fixup r300 scratch on BE machines 2006-04-23 18:14:00 +10:00
r300_reg.h drm: update r300 register names 2006-03-19 19:12:10 +11:00
radeon_cp.c drm: radeon: Use RADEON_RB3D_DSTCACHE_CTLSTAT instead of RADEON_RB2D_DSTCACHE_CTLSTAT. 2006-09-22 05:32:31 +10:00
radeon_drm.h drm: update radeon to 1.25 add r200 vertex program support 2006-06-24 17:32:10 +10:00
radeon_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
radeon_drv.h drm: radeon: Use RADEON_RB3D_DSTCACHE_CTLSTAT instead of RADEON_RB2D_DSTCACHE_CTLSTAT. 2006-09-22 05:32:31 +10:00
radeon_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
radeon_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_mem.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_state.c drm: radeon: implement RADEON_PARAM_SCRATCH_OFFSET getparam 2006-09-22 05:32:30 +10:00
README.drm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
savage_bci.c drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
savage_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
savage_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
savage_drv.h drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
savage_state.c drm: fix a LOR issue on FreeBSD for savage driver 2006-01-02 16:11:44 +11:00
sis_drm.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
sis_drv.c drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
sis_drv.h drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
sis_mm.c drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
tdfx_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tdfx_drv.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
via_3d_reg.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
via_dma.c drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
via_dmablit.c [PATCH] spin/rwlock init cleanups 2006-06-27 17:32:39 -07:00
via_dmablit.h drm: fix warning on alpha 2006-01-10 19:53:54 +11:00
via_drm.h drm: via driver update to CVS version 2006-01-02 14:26:20 +11:00
via_drv.c drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
via_drv.h drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
via_irq.c drm: Fix further issues in drivers/char/drm/via_irq.c 2006-04-18 21:04:48 +10:00
via_map.c drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
via_mm.c drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
via_mm.h drm: Add via unichrome support 2005-06-28 22:48:56 +10:00
via_verifier.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_verifier.h drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_video.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00

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

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.


Documentation on the DRI is available from:
    http://precisioninsight.com/piinsights.html

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://precisioninsight.com/dr/drm.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/locking.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/security.html

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