kernel-fxtec-pro1x/drivers/gpu/drm
Ben Skeggs 415e6186f1 drm/nouveau: fix race condition when under memory pressure
When VRAM is running out it's possible that the client's push buffers get
evicted to main memory.  When they're validated back in, the GPU may
be used for the copy back to VRAM, but the existing synchronisation code
only deals with inter-channel sync, not sync between PFIFO and PGRAPH on
the same channel.  This leads to PFIFO fetching from command buffers that
haven't quite been copied by PGRAPH yet.

This patch marks push buffers as so, and forces any GPU-assisted buffer
moves to be done on a different channel, which triggers the correct
synchronisation to happen before we submit them.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-08-17 11:58:56 +10:00
..
i2c drm/i2c/ch7006: Don't use POWER_LEVEL_FULL_POWER_OFF on early chip versions. 2010-08-09 15:16:23 +10:00
i810 drm: kill BKL from common code 2010-08-05 11:54:40 +10:00
i830 drm: kill BKL from common code 2010-08-05 11:54:40 +10:00
i915 drm,io-mapping: Specify slot to use for atomic mappings 2010-08-05 08:48:53 +10:00
mga drm/mga: fixed brace, macro and spacing coding style issues 2010-08-02 10:17:36 +10:00
nouveau drm/nouveau: fix race condition when under memory pressure 2010-08-17 11:58:56 +10:00
r128 drm/r128: fixed brace and spacing coding style issues 2010-08-02 10:17:48 +10:00
radeon drm/radeon/kms: only expose underscan on avivo chips 2010-08-05 08:47:40 +10:00
savage
sis drm/sis: fixed brace and spacing coding style issues 2010-08-02 10:18:17 +10:00
tdfx
ttm drm: move ttm global code to core drm 2010-08-04 09:46:06 +10:00
via drm/via: fixed coding style issues, simplified return 2010-08-02 10:17:23 +10:00
vmwgfx drm: move ttm global code to core drm 2010-08-04 09:46:06 +10:00
ati_pcigart.c
drm_agpsupport.c
drm_auth.c
drm_buffer.c
drm_bufs.c Merge branch 'drm-platform' into drm-testing 2010-07-07 18:37:35 +10:00
drm_cache.c
drm_context.c
drm_crtc.c drm: Return EBUSY if the framebuffer is unbound when flipping. 2010-07-21 11:26:07 +10:00
drm_crtc_helper.c drm: unify crtc,connector,encoder,fb debug printing 2010-07-16 11:25:02 +10:00
drm_debugfs.c
drm_dma.c
drm_dp_i2c_helper.c
drm_drawable.c
drm_drv.c drm: kill BKL from common code 2010-08-05 11:54:40 +10:00
drm_edid.c Merge remote branch 'origin/master' into drm-intel-next 2010-08-01 19:34:47 -07:00
drm_encoder_slave.c drm/kms: Simplify setup of the initial I2C encoder config. 2010-08-05 09:37:45 +10:00
drm_fb_helper.c drm: correctly update connector DPMS status in drm_fb_helper 2010-07-07 14:21:39 +10:00
drm_fops.c drm: kill BKL from common code 2010-08-05 11:54:40 +10:00
drm_gem.c drm: Free the idr layers before calling idr_destroy() 2010-08-02 10:13:56 +10:00
drm_global.c drm: move ttm global code to core drm 2010-08-04 09:46:06 +10:00
drm_hashtab.c
drm_info.c
drm_ioc32.c
drm_ioctl.c drm: Cleanup after failing to create master->unique and dev->name 2010-08-05 08:42:19 +10:00
drm_irq.c Merge branch 'drm-tracepoints' into drm-testing 2010-07-07 18:38:44 +10:00
drm_lock.c
drm_memory.c
drm_mm.c drm: implement helper functions for scanning lru list 2010-07-07 12:29:51 +10:00
drm_modes.c
drm_pci.c
drm_platform.c
drm_proc.c
drm_scatter.c
drm_sman.c
drm_stub.c drm: Free devname along with master->unique 2010-08-02 10:14:30 +10:00
drm_sysfs.c Merge branch 'drm-platform' into drm-testing 2010-07-07 18:37:35 +10:00
drm_trace.h drm: add per-event vblank event trace points 2010-07-02 14:03:24 +10:00
drm_trace_points.c drm: add vblank event trace point 2010-07-02 14:02:44 +10:00
drm_vm.c
Kconfig drm/radeon/kms: add support for internal thermal sensors (v3) 2010-08-02 10:00:00 +10:00
Makefile drm: move ttm global code to core drm 2010-08-04 09:46:06 +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