linux/drivers/gpu/drm/i915
Chris Wilson 9135583464 drm/i915: Do not overflow the MMADDR write FIFO
Whilst the GT is powered down (rc6), writes to MMADDR are placed in a
FIFO by the System Agent. This is a limited resource, only 64 entries, of
which 20 are reserved for Display and PCH writes, and so we must take
care not to queue up too many writes. To avoid this, there is counter
which we can poll to ensure there are sufficient free entries in the
fifo.

"Issuing a write to a full FIFO is not supported; at worst it could
result in corruption or a system hang."

Reported-and-Tested-by: Matt Turner <mattst88@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34056
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-06 09:07:46 +00:00
..
Makefile drm/i915: Split i915_gem_execbuffer into its own file. 2010-11-25 21:19:25 +00:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
dvo_ch7xxx.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_ch7017.c drm/i915/dvo: Report LVDS attached to ch701x as connected 2010-12-30 13:50:43 +00:00
dvo_ivch.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_sil164.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_tfp410.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
i915_debugfs.c drm/i915: Do not overflow the MMADDR write FIFO 2011-03-06 09:07:46 +00:00
i915_dma.c drm/i915: fix memory corruption with GM965 and >4GB RAM 2011-03-01 23:18:44 +00:00
i915_drv.c drm/i915: Do not overflow the MMADDR write FIFO 2011-03-06 09:07:46 +00:00
i915_drv.h drm/i915: Do not overflow the MMADDR write FIFO 2011-03-06 09:07:46 +00:00
i915_gem.c drm/i915,agp/intel: Do not clear stolen entries 2011-01-24 18:26:25 +00:00
i915_gem_debug.c drm/i915: Use drm_i915_gem_object as the preferred type 2010-11-23 20:19:10 +00:00
i915_gem_evict.c drm/i915/evict: Ensure we completely cleanup on failure 2011-01-11 22:55:39 +00:00
i915_gem_execbuffer.c drm/i915: Fix use of invalid array size for ring->sync_seqno 2011-01-23 12:52:11 +00:00
i915_gem_gtt.c drm/i915,agp/intel: Do not clear stolen entries 2011-01-24 18:26:25 +00:00
i915_gem_tiling.c Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing" 2011-03-06 09:07:45 +00:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: don't enable FDI & transcoder interrupts after all 2011-02-22 15:52:40 +00:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_reg.h drm/i915: Do not overflow the MMADDR write FIFO 2011-03-06 09:07:46 +00:00
i915_suspend.c drm/i915: cleanup rc6 code 2011-01-11 20:43:59 +00:00
i915_trace.h drm/i915: Kill the get_fence tracepoint 2010-12-02 10:20:47 +00:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
intel_acpi.c drm/i915: i915 cannot provide switcher services. 2010-12-08 15:40:44 +10:00
intel_bios.c drm/i915: Add a module option to override the use of SSC 2011-01-13 16:05:58 +00:00
intel_bios.h drm/i915: Initialize panel timing registers if VBIOS did not 2010-10-19 09:17:24 +01:00
intel_crt.c drm/i915/crt: Force the initial probe after reset 2011-01-25 19:23:29 +00:00
intel_display.c drm/i915: Do not overflow the MMADDR write FIFO 2011-03-06 09:07:46 +00:00
intel_dp.c drm/i915: Trigger modesetting if force-audio changes 2011-02-11 09:20:50 +00:00
intel_drv.h drm/i915: Disable RC6 on Ironlake 2011-02-09 17:04:54 +00:00
intel_dvo.c drm/i915/dvo: Fix panel and DDC i2c pins 2010-09-28 23:34:44 +01:00
intel_fb.c Revert "drm: Update fbdev fb_fix_screeninfo" 2011-01-14 16:10:28 -08:00
intel_hdmi.c drm/i915: Trigger modesetting if force-audio changes 2011-02-11 09:20:50 +00:00
intel_i2c.c Merge branch 'drm-intel-fixes' into drm-intel-next 2010-11-15 06:49:30 +00:00
intel_lvds.c drm/i915/lvds: Restore dithering on native modes for gen2/3 2011-02-06 15:53:30 +00:00
intel_modes.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
intel_opregion.c drm/i915: Use consistent mappings for OpRegion between ACPI and i915 2011-01-24 18:28:08 +00:00
intel_overlay.c drm/i915: Implement GPU semaphores for inter-ring synchronisation on SNB 2010-12-05 00:37:38 +00:00
intel_panel.c drm/i915: Do not handle backlight combination mode specially 2011-02-21 15:25:43 -08:00
intel_ringbuffer.c drm/i915: Invalidate TLB caches on SNB BLT/BSD rings 2011-02-02 15:52:38 +00:00
intel_ringbuffer.h drm/i915: Do not overflow the MMADDR write FIFO 2011-03-06 09:07:46 +00:00
intel_sdvo.c drm/i915: Trigger modesetting if force-audio changes 2011-02-11 09:20:50 +00:00
intel_sdvo_regs.h drm/i915/sdvo: Add missing TV filters 2010-08-09 11:24:29 -07:00
intel_tv.c drm/i915/tv: Use polling rather than interrupt-based hotplug 2011-02-11 09:20:51 +00:00