linux/drivers/gpu/drm
Tormod Volden 66aa6962ff drm: Compare only lower 32 bits of framebuffer map offsets
Drivers using multiple framebuffers got broken by commit
41c2e75e60 which ignored the framebuffer
(or register) map offset when looking for existing maps. The rationale
was that the kernel-userspace ABI is fixed at a 32-bit offset, so the
real offsets could not always be handed over for comparison.

Instead of ignoring the offset we will compare the lower 32 bit. Drivers
using multiple framebuffers should just make sure that the lower 32 bit
are different. The existing drivers in question are practically limited
to 32-bit systems so that should be fine for them.

It is assumed that current drivers always specify a correct framebuffer
map offset, even if this offset was ignored since above commit. So this
patch should not change anything for drivers using only one framebuffer.

Drivers needing multiple framebuffers with 64-bit map offsets will need
to cook up something, for instance keeping an ID in the lower bit which
is to be aligned away when it comes to using the offset.

All of above applies to _DRM_REGISTERS as well.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-06-14 11:09:54 +10:00
..
i2c
i810 drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
i915 drm/i915: Don't leak in i915_gem_shmem_pread_slow() 2011-06-14 11:00:54 +10:00
mga alpha, drm: Remove obsolete Alpha support in MGA DRM code 2011-06-14 09:32:56 +10:00
nouveau drm/nv40: fall back to paged dma object for the moment 2011-06-07 09:23:03 +10:00
r128 drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
radeon drm/radeon/kms: do bounds checking for 3D_LOAD_VBPNTR and bump array limit 2011-06-14 10:59:03 +10:00
savage savage: remove unnecessary if statement 2011-06-14 09:29:12 +10:00
sis drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
tdfx drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
ttm vmscan: change shrinker API by passing shrink_control struct 2011-05-25 08:39:26 -07:00
via drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
vmwgfx Fix common misspellings 2011-03-31 11:26:23 -03:00
ati_pcigart.c
drm_agpsupport.c
drm_auth.c
drm_buffer.c
drm_bufs.c drm: Compare only lower 32 bits of framebuffer map offsets 2011-06-14 11:09:54 +10:00
drm_cache.c
drm_context.c
drm_crtc_helper.c Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2011-02-04 10:02:22 -08:00
drm_crtc.c drm: fix fbs in DRM_IOCTL_MODE_GETRESOURCES ioctl 2011-06-09 14:31:09 +10:00
drm_debugfs.c
drm_dma.c
drm_dp_i2c_helper.c
drm_drv.c drm/core: add ioctl to query device/driver capabilities 2011-03-04 14:47:30 +10:00
drm_edid_modes.h drm: Mark constant arrays of drm_display_mode const 2011-02-23 11:13:11 +10:00
drm_edid.c drm: parse color format support for digital displays 2011-04-28 14:44:56 +10:00
drm_encoder_slave.c
drm_fb_helper.c drm: Take lock around probes for drm_fb_helper_hotplug_event 2011-05-16 12:01:43 +10:00
drm_fops.c drm/switcheroo: track state of switch in drivers. 2011-01-05 13:45:30 +10:00
drm_gem.c drm: Fix use-after-free in drm_gem_vm_close() 2011-03-21 09:15:22 +10:00
drm_global.c
drm_hashtab.c drm: Remove unused members from struct drm_open_hash 2011-02-23 11:16:40 +10:00
drm_info.c Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next 2011-03-14 14:15:13 +10:00
drm_ioc32.c
drm_ioctl.c drm/vblank: update recently added vbl interface to be more future proof. 2011-03-24 21:28:46 +10:00
drm_irq.c Merge remote branch 'keithp/drm-intel-next' of /ssd/git/drm-next into drm-core-next 2011-05-16 10:45:40 +10:00
drm_lock.c
drm_memory.c
drm_mm.c drm: mm: fix debug output 2011-05-09 09:14:45 +10:00
drm_modes.c drm/fb: fix CONFIG_DRM=m && CONFIG_FB=n 2011-05-04 13:08:58 +10:00
drm_pci.c drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
drm_platform.c drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
drm_proc.c
drm_scatter.c
drm_sman.c GPU DRM: Remove unnecessary casts of void ptr returning alloc function return values 2011-01-19 15:24:49 +01:00
drm_stub.c drm: Create and use drm_err 2011-04-28 14:53:02 +10:00
drm_sysfs.c drm: Hold the mode mutex whilst probing for sysfs status 2011-03-16 11:23:04 +10:00
drm_trace_points.c
drm_trace.h
drm_usb.c drm: add usb framework 2011-02-07 13:09:42 +10:00
drm_vm.c alpha/drm: Cleanup Alpha support in DRM generic code 2011-06-14 09:31:37 +10:00
Kconfig drm: select FRAMEBUFFER_CONSOLE_PRIMARY if we have FRAMEBUFFER_CONSOLE 2011-04-27 16:54:06 +10:00
Makefile drm: add usb framework 2011-02-07 13:09:42 +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.


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