Quoting Matthew Auld (2020-11-27 12:07:00) > From: Venkata Ramana Nayana <venkata.ramana.nayana@intel.com> > > We are only doing it now for kernel_context. We also need to do for the > copy engine blitter context. > > Signed-off-by: Venkata Ramana Nayana <venkata.ramana.nayana@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_engine_pm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > index 1b2009b4dcb7..69c8ea70d1e8 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c > +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c > @@ -66,6 +66,11 @@ static int __engine_unpark(struct intel_wakeref *wf) > ce->ops->reset(ce); > } Add a list of pinned volatile contexts to the engine that must be restored across resume. -Chris
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c b/drivers/gpu/drm/i915/gt/intel_engine_pm.c index 1b2009b4dcb7..69c8ea70d1e8 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c @@ -66,6 +66,11 @@ static int __engine_unpark(struct intel_wakeref *wf) ce->ops->reset(ce); } + if (engine->class == COPY_ENGINE_CLASS) { + ce = engine->blitter_context; + ce->ops->reset(ce); + } + if (engine->unpark) engine->unpark(engine);