]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Do not overflow the MMADDR write FIFO
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 4 Mar 2011 19:22:40 +0000 (19:22 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Sun, 6 Mar 2011 09:07:46 +0000 (09:07 +0000)
commitd3c912769e37ee205b0b4822d674f41c038716aa
tree24539f6a0d2ba30f5973a78d7a639f6ce140091d
parent02e7ec64085af3187f7261ad1ca8b47c671a8eb6
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>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_ringbuffer.h