OSDN Git Service

drm/i915/gt: Reset execlists registers before HWSP
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 13 May 2020 10:01:20 +0000 (11:01 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 13 May 2020 10:55:27 +0000 (11:55 +0100)
commitb428d57006663d18e3f6f98644ff9e8702a33ca4
treeeb81f77ccdd607289d9f533396265f71a2a128c4
parent61b088c5374a9f886efa1edbb49ce552bd1f9cba
drm/i915/gt: Reset execlists registers before HWSP

Upon gt resume, we first poison then sanitize the engine. However, our
testing shows that gen9 will very rarely retain the poisoned value from
the HWSP mappings of the execlists status registers. This suggests that
it is reading back from the HWSP, so rejig the register reset.

v2: Maybe RING_CONTEXT_STATUS_PTR is write masked. It is.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/1812
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200513100120.11617-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c