[Intel-gfx] [PATCH 4/4] drm/i915: Give more details for the active-when-parking warning for the engines

Mika Kuoppala mika.kuoppala at linux.intel.com
Fri Oct 27 13:25:09 UTC 2017


Chris Wilson <chris at chris-wilson.co.uk> writes:

> If the we think the engine is still active when we attempt to park it,
> we want more details -- so dump the engine state.
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=103479
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>

Acked-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

You can poke me to upgrade for r-b when the drm_debug_printer
stuff falls in place.

-Mika

> ---
>  drivers/gpu/drm/i915/intel_engine_cs.c | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 9767586e2289..6895a90af008 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -1613,14 +1613,20 @@ void intel_engines_park(struct drm_i915_private *i915)
>  	struct intel_engine_cs *engine;
>  	enum intel_engine_id id;
>  
> -	/*
> -	 * We are committed now to parking the engines, make sure there
> -	 * will be no more interrupts arriving later.
> -	 */
> -	if (!intel_engines_are_idle(dev_priv))
> -		DRM_ERROR("Timeout waiting for engines to idle\n");
> -
>  	for_each_engine(engine, i915, id) {
> +		/*
> +		 * We are committed now to parking the engines, make sure there
> +		 * will be no more interrupts arriving later and the engines
> +		 * are truly idle.
> +		 */
> +		if (!intel_engine_is_idle(engine)) {
> +			struct drm_printer p = drm_debug_printer(__func__);
> +
> +			DRM_ERROR("%s is not idle before parking\n",
> +				  engine->name);
> +			intel_engine_dump(engine, &p);
> +		}
> +
>  		if (engine->park)
>  			engine->park(engine);
>  
> -- 
> 2.15.0.rc2


More information about the Intel-gfx mailing list