linux/drivers/gpu/drm
Benjamin Herrenschmidt f77d390c97 drm: Split drm_map and drm_local_map
Once upon a time, the DRM made the distinction between the drm_map
data structure exchanged with user space and the drm_local_map used
in the kernel.

For some reasons, while the BSD port still has that "feature", the
linux part abused drm_map for kernel internal usage as the local
map only existed as a typedef of the struct drm_map.

This patch fixes it by declaring struct drm_local_map separately
(though its content is currently identical to the userspace variant),
and changing the kernel code to only use that, except when it's a
user<->kernel interface (ie. ioctl).

This allows subsequent changes to the in-kernel format

I've also replaced the use of drm_local_map_t with struct drm_local_map
in a couple of places. Mostly by accident but they are the same (the
former is a typedef of the later) and I have some remote plans and
half finished patch to completely kill the drm_local_map_t typedef
so I left those bits in.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2009-03-13 14:23:56 +10:00
..
i810 drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
i830 drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
i915 drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
mga drm: Use resource_size_t for drm_get_resource_{start, len} 2009-03-13 14:23:56 +10:00
r128 drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
radeon drm: Use resource_size_t for drm_get_resource_{start, len} 2009-03-13 14:23:56 +10:00
savage drm: Use resource_size_t for drm_get_resource_{start, len} 2009-03-13 14:23:56 +10:00
sis SiS DRM: fix a pointer cast warning 2008-10-18 07:10:10 +10:00
tdfx drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
via drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
ati_pcigart.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
drm_agpsupport.c drm: stash AGP include under the do-we-have-AGP ifdef 2009-01-22 22:27:11 +10:00
drm_auth.c drm: move to kref per-master structures. 2008-12-29 17:47:22 +10:00
drm_bufs.c drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
drm_cache.c drm: wbinvd is cache coherent. 2008-10-18 07:10:53 +10:00
drm_context.c drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
drm_crtc_helper.c drm: disable encoders before re-routing them 2009-02-25 14:42:23 +10:00
drm_crtc.c drm: Release user fbs in drm_release 2009-02-20 12:21:11 +10:00
drm_dma.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
drm_drawable.c drm: Avoid oops in DRM_IOCTL_RM_DRAW if a bad handle is supplied. 2008-10-23 13:46:54 +10:00
drm_drv.c drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
drm_edid.c drm: edid revision 0 is valid 2009-02-25 14:47:05 +10:00
drm_fops.c drm: Avoid client deadlocks when the master disappears. 2009-03-03 09:50:20 +10:00
drm_gem.c drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
drm_hashtab.c drm: GEM mmap support 2008-12-29 17:47:22 +10:00
drm_ioc32.c drm: Add 32-bit compatibility for DRM_IOCTL_UPDATE_DRAW. 2008-10-23 13:46:33 +10:00
drm_ioctl.c drm: fix leak of uninitialized data to userspace 2008-12-29 17:47:22 +10:00
drm_irq.c drm: Correct unbalanced drm_vblank_put() during mode setting. 2009-02-25 14:45:50 +10:00
drm_lock.c drm: Avoid client deadlocks when the master disappears. 2009-03-03 09:50:20 +10:00
drm_memory.c drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
drm_mm.c DRM: add mode setting support 2008-12-29 17:47:23 +10:00
drm_modes.c DRM: add mode setting support 2008-12-29 17:47:23 +10:00
drm_pci.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
drm_proc.c drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
drm_scatter.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
drm_sman.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
drm_stub.c drm: fix double lock typo 2009-03-04 21:49:14 +10:00
drm_sysfs.c gpu: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:41 -08:00
drm_vm.c drm: Split drm_map and drm_local_map 2009-03-13 14:23:56 +10:00
Kconfig fbdev/drm: fix Kconfig submenu mess in "Graphics support" 2009-02-18 15:37:56 -08:00
Makefile DRM: add mode setting support 2008-12-29 17:47:23 +10:00
README.drm drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +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.


Documentation on the DRI is available from:
    http://dri.freedesktop.org/wiki/Documentation
    http://sourceforge.net/project/showfiles.php?group_id=387
    http://dri.sourceforge.net/doc/

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://dri.sourceforge.net/doc/drm_low_level.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/hardware_locking_low_level.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/security_low_level.html