]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Scrub HW state on remove
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 29 Sep 2020 11:26:39 +0000 (12:26 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 6 Oct 2020 11:09:30 +0000 (12:09 +0100)
commit402bf53f68c65d3ac474a9a54fb539f1ce8a6e81
tree6c46b1715c6520b5ba12c1cca0792543469f1f1e
parent590ec9c224f149078b653055147233abb6756c0f
drm/i915/gt: Scrub HW state on remove

Currently we do a final scrub of the HW state upon release. However,
when rebinding the device, this is too late as the device may either
have been partially rebound or the device is no longer accessible. If
the device has been removed before release, the reset goes astray
leaving the device in an inconsistent state, unlikely to work without a
full PCI reset. Furthermore, if the device is partially rebound before
the HW scrubbing, there may be leftover HW state that should have been
scrubbed. Either way, we need to push the scrubbing earlier before the
removal, so into unregister. The danger is that on older machines,
resetting the GPU also impact the display engine and so the reset should
be after modesetting is disabled (and before reuse we need to recover
modesetting).

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2508
Testcase: igt/core_hotunplug
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200929112639.24223-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_gt.c