linux-kernel-test/drivers/gpu/drm
Jesse Barnes 9e06dd39f2 drm/i915: correct suspend/resume ordering
We need to save register state *after* idling GEM, clearing the ring,
and uninstalling the IRQ handler, or we might end up saving bogus
fence regs, for one.  Our restore ordering should already be correct,
since we do GEM, ring and IRQ init after restoring the last register
state, which prevents us from clobbering things.

I put this together to potentially address a bug, but I haven't heard
back if it fixes it yet.  However I think it stands on its own, so I'm
sending it in.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2009-06-22 18:54:04 -07:00
..
i810 drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i830 drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915 drm/i915: correct suspend/resume ordering 2009-06-22 18:54:04 -07:00
mga drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
r128 drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon drm/radeon: fix unused variables warning 2009-06-19 10:22:21 +10:00
savage drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
sis drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
tdfx
ttm agp: switch AGP to use page array instead of unsigned long array 2009-06-19 10:21:42 +10:00
via drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
ati_pcigart.c drm/ati_pcigart: use memset_io to reset the memory 2009-03-13 14:24:14 +10:00
drm_agpsupport.c agp: switch AGP to use page array instead of unsigned long array 2009-06-19 10:21:42 +10:00
drm_auth.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_bufs.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_cache.c drm: wbinvd is cache coherent. 2008-10-18 07:10:53 +10:00
drm_context.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_crtc_helper.c drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms. 2009-06-04 09:32:12 +10:00
drm_crtc.c drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms. 2009-06-04 09:32:12 +10:00
drm_debugfs.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_dma.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_drawable.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_drv.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_edid.c drm: EDID endianness fixes. 2009-06-19 09:11:13 +10:00
drm_fops.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_gem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_hashtab.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_info.c drm: merge Linux master into HEAD 2009-03-28 20:22:18 -04:00
drm_ioc32.c drm: Only use DRM_IOCTL_UPDATE_DRAW compat wrapper for compat X86. 2009-03-13 14:24:04 +10:00
drm_ioctl.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_irq.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_lock.c drm: Avoid client deadlocks when the master disappears. 2009-03-03 09:50:20 +10:00
drm_memory.c agp: switch AGP to use page array instead of unsigned long array 2009-06-19 10:21:42 +10:00
drm_mm.c drm: Apply "Memory fragmentation from lost alignment blocks" 2009-06-19 09:01:12 +10:00
drm_modes.c drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode 2009-06-12 14:59:42 +10:00
drm_pci.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_proc.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_scatter.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_sman.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_stub.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
drm_sysfs.c Driver Core: drm: add nodename for drm devices 2009-06-15 21:30:26 -07:00
drm_vm.c agp: switch AGP to use page array instead of unsigned long array 2009-06-19 10:21:42 +10:00
Kconfig drm/i915: Add missing dependency on Intel AGP support. 2009-06-21 22:13:38 -07:00
Makefile drm: Add the TTM GPU memory manager subsystem. 2009-06-15 09:37:57 +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