diff mbox series

[RFC,144/162] drm/i915: Reset blitter context when unpark engine

Message ID 20201127120718.454037-145-matthew.auld@intel.com (mailing list archive)
State New, archived
Headers show
Series DG1 + LMEM enabling | expand

Commit Message

Matthew Auld Nov. 27, 2020, 12:07 p.m. UTC
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(+)

Comments

Chris Wilson Nov. 27, 2020, 2:26 p.m. UTC | #1
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 mbox series

Patch

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);