linux/drivers/gpu/drm/i915
Eric Anholt a09ba7faf7 drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU.
The lack of a proper LRU was partially worked around by taking the fence
from the object containing the oldest seqno.  But if there are multiple
objects inactive, then they don't have seqnos and the first fence reg
among them would be chosen.  If you were trying to copy data between two
mappings, this could result in each page fault stealing the fence from
the other argument, and your application hanging.

https://bugs.freedesktop.org/show_bug.cgi?id=23566
https://bugs.freedesktop.org/show_bug.cgi?id=23220
https://bugs.freedesktop.org/show_bug.cgi?id=23253
https://bugs.freedesktop.org/show_bug.cgi?id=23366

Cc: Stable Team <stable@kernel.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-08-29 17:37:21 -07:00
..
dvo_ch7xxx.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ch7017.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ivch.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_sil164.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_tfp410.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo.h drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
i915_dma.c drm/i915: Use our own workqueue to avoid wedging the system along with the GPU. 2009-08-05 11:20:53 -07:00
i915_drv.c drm/i915: Restore the KMS modeset for every activated CRTC 2009-07-10 12:36:11 -07:00
i915_drv.h drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU. 2009-08-29 17:37:21 -07:00
i915_gem_debug.c drm/i915: Catch up to obj_priv->page_list rename in disabled debug code. 2009-06-22 20:19:39 -07:00
i915_gem_debugfs.c drm/i915: refactor error detection & collection 2009-07-13 15:33:37 -07:00
i915_gem_tiling.c drm/i915: Zap the GTT mapping when transitioning from untiled to tiled. 2009-07-10 14:10:58 -07:00
i915_gem.c drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU. 2009-08-29 17:37:21 -07:00
i915_ioc32.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
i915_irq.c drm/i915: silence vblank warnings 2009-08-09 12:25:29 +10:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_opregion.c ACPI: Add the reference count to avoid unloading ACPI video bus twice 2009-06-23 23:38:41 -04:00
i915_reg.h drm/i915: Add eDP support on IGDNG mobile chip 2009-07-29 15:16:19 -07:00
i915_suspend.c drm/i915: Fix read outside array bounds in restoring the SWF10 range. 2009-08-05 11:21:29 -07:00
intel_bios.c drm/i915: Add eDP support on IGDNG mobile chip 2009-07-29 15:16:19 -07:00
intel_bios.h drm/i915: Add eDP support on IGDNG mobile chip 2009-07-29 15:16:19 -07:00
intel_crt.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_display.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_dp_i2c.c drm/i915: Make driver less chatty 2009-07-01 18:13:34 -07:00
intel_dp.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_dp.h drm/i915: Add Display Port support 2009-06-18 15:54:07 -07:00
intel_drv.h drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_dvo.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_fb.c drm/i915: Make driver less chatty 2009-07-01 18:13:34 -07:00
intel_hdmi.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_i2c.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
intel_lvds.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_modes.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
intel_sdvo_regs.h drm/i915: enable sdvo lvds scaling function. 2009-07-01 11:44:45 -07:00
intel_sdvo.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_tv.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
Makefile drm/i915: Add Display Port support 2009-06-18 15:54:07 -07:00