OSDN Git Service

drm/i915/gt: Scrub execlists state on resume
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 16 Apr 2020 11:41:17 +0000 (12:41 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 17 Apr 2020 12:56:00 +0000 (13:56 +0100)
commit23122a4d992b5d5a660155e2c4640e5a93cc957d
tree047b8e01aa7c44b1b2326fdf44062b905f5137ad
parent48b8b04c791d1e39883416fd3106cad205007298
drm/i915/gt: Scrub execlists state on resume

Before we resume, we reset the HW so we restart from a known good state.
However, as a part of the reset process, we drain our pending CS event
queue -- and if we are resuming that does not correspond to internal
state. On setup, we are scrubbing the CS pointers, but alas only on
setup.

Apply the sanitization not just to setup, but to all resumes.

Reported-by: Venkata Ramana Nayana <venkata.ramana.nayana@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Venkata Ramana Nayana <venkata.ramana.nayana@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200416114117.3460-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_engine_types.h
drivers/gpu/drm/i915/gt/intel_gt_pm.c
drivers/gpu/drm/i915/gt/intel_lrc.c