drm/i915: Always wake the device to flush the GTT
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 29 Aug 2017 19:25:46 +0000 (20:25 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 30 Aug 2017 19:08:14 +0000 (12:08 -0700)
commit0168bdfc9c53a27a81bbe6c061dc118c1dd95a36
tree6c9999d63b4fff1060f89202e2b1ab98d1349005
parent3b24e7e8109bcf2089b3052d2ddd301e33042034
drm/i915: Always wake the device to flush the GTT

Since we hold the device wakeref when writing through the GTT (otherwise
the writes would fail), we presumed that before the device sleeps those
writes would naturally be flushed and that we wouldn't need our mmio
read trick. However, that presumption seems false and a sleepy bxt seems
to require us to always manually flush the GTT writes prior to direct
access.

Fixes: e2a2aa36a509 ("drm/i915: Check we have an wake device before flushing GTT writes")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170829192546.1087-1-chris@chris-wilson.co.uk
(cherry picked from commit b69a784f5e2308d6360a76eceae450e96751f3e4)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/i915_gem.c