]> 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)
commit6e03acb5498caa47084a403214588ed5ad8796d5
treeb467d121a6d4d32405e449fdebe7bee216c22376
parent36d2c2e6cdb9ef03970a2c3ac40e30d3f9dc466f
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