Re: [Intel-gfx] [PATCH] drm/i915: Flush the irq and tasklets before asserting engine is idle

2017-11-02 Thread Chris Wilson
Quoting Mika Kuoppala (2017-11-02 09:57:30)
> Chris Wilson  writes:
> 
> > Before we assert that the engine is idle, make sure we flush any
> > residual tasklet. After that point, if the engine is not idle, more work
> > may be queued despite us trying to park the engine and go to sleep.
> >
> > References: https://bugs.freedesktop.org/show_bug.cgi?id=103479
> > Signed-off-by: Chris Wilson 
> > Cc: Mika Kuoppala 
> 
> Reviewed-by: Mika Kuoppala 

Pushed so that we can gradually get to the bottom of this warning.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Flush the irq and tasklets before asserting engine is idle

2017-11-02 Thread Mika Kuoppala
Chris Wilson  writes:

> Before we assert that the engine is idle, make sure we flush any
> residual tasklet. After that point, if the engine is not idle, more work
> may be queued despite us trying to park the engine and go to sleep.
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=103479
> Signed-off-by: Chris Wilson 
> Cc: Mika Kuoppala 

Reviewed-by: Mika Kuoppala 

> ---
>  drivers/gpu/drm/i915/intel_engine_cs.c | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c 
> b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 0f8c542f0af2..70eeafe8a6ec 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -1542,6 +1542,10 @@ void intel_engines_park(struct drm_i915_private *i915)
>   enum intel_engine_id id;
>  
>   for_each_engine(engine, i915, id) {
> + /* Flush the residual irq tasklets first. */
> + intel_engine_disarm_breadcrumbs(engine);
> + tasklet_kill(&engine->execlists.irq_tasklet);
> +
>   /*
>* We are committed now to parking the engines, make sure there
>* will be no more interrupts arriving later and the engines
> @@ -1558,9 +1562,6 @@ void intel_engines_park(struct drm_i915_private *i915)
>   if (engine->park)
>   engine->park(engine);
>  
> - intel_engine_disarm_breadcrumbs(engine);
> - tasklet_kill(&engine->execlists.irq_tasklet);
> -
>   i915_gem_batch_pool_fini(&engine->batch_pool);
>   engine->execlists.no_priolist = false;
>   }
> -- 
> 2.15.0.rc2
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] drm/i915: Flush the irq and tasklets before asserting engine is idle

2017-11-01 Thread Chris Wilson
Before we assert that the engine is idle, make sure we flush any
residual tasklet. After that point, if the engine is not idle, more work
may be queued despite us trying to park the engine and go to sleep.

References: https://bugs.freedesktop.org/show_bug.cgi?id=103479
Signed-off-by: Chris Wilson 
Cc: Mika Kuoppala 
---
 drivers/gpu/drm/i915/intel_engine_cs.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c 
b/drivers/gpu/drm/i915/intel_engine_cs.c
index 0f8c542f0af2..70eeafe8a6ec 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1542,6 +1542,10 @@ void intel_engines_park(struct drm_i915_private *i915)
enum intel_engine_id id;
 
for_each_engine(engine, i915, id) {
+   /* Flush the residual irq tasklets first. */
+   intel_engine_disarm_breadcrumbs(engine);
+   tasklet_kill(&engine->execlists.irq_tasklet);
+
/*
 * We are committed now to parking the engines, make sure there
 * will be no more interrupts arriving later and the engines
@@ -1558,9 +1562,6 @@ void intel_engines_park(struct drm_i915_private *i915)
if (engine->park)
engine->park(engine);
 
-   intel_engine_disarm_breadcrumbs(engine);
-   tasklet_kill(&engine->execlists.irq_tasklet);
-
i915_gem_batch_pool_fini(&engine->batch_pool);
engine->execlists.no_priolist = false;
}
-- 
2.15.0.rc2

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx