]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/ringbuffer: Brute force context restore
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 11 Jun 2018 10:48:08 +0000 (11:48 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 11 Jun 2018 13:01:15 +0000 (14:01 +0100)
commitaf210cfeb858f269edc3f0f473c4e6405121f951
treeb467d121a6d4d32405e449fdebe7bee216c22376
parent9cc19cd5cd1d715faa000d6f73fa3d15e8ff38d4
drm/i915/ringbuffer: Brute force context restore

An issue encountered with switching mm on gen7 is that the GPU likes to
hang (with the VS unit busy) when told to force restore the current
context. We can simply workaround this by substituting the
MI_FORCE_RESTORE flag with a round-trip through the kernel_context,
forcing the context to be saved and restored; thereby reloading the
PP_DIR registers and updating the modified page directory!

v2: Undo attempted optimisation in caller (Tvrtko)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180611104808.24295-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_ringbuffer.c