[Intel-gfx] [PATCH] drm/i915: Stop reporting error details in dmesg as well as the error-state

Chris Wilson chris at chris-wilson.co.uk
Thu Oct 20 10:56:05 UTC 2016


On Thu, Oct 20, 2016 at 01:47:28PM +0300, Mika Kuoppala wrote:
> Chris Wilson <chris at chris-wilson.co.uk> writes:
> 
> > As we already capture all the information from the registers into the
> > error-state, also dumping that to dmesg just generates noise that upsets
> > CI and users alike (and doesn't provide us with any more information).
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > ---
> >  drivers/gpu/drm/i915/i915_irq.c | 86 ++++++-----------------------------------
> >  1 file changed, 11 insertions(+), 75 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index 4c40a13d26e4..1d4bc67d27d4 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -2578,90 +2578,26 @@ i915_err_print_instdone(struct drm_i915_private *dev_priv,
> >  		       slice, subslice, instdone->row[slice][subslice]);
> >  }
> >  
> > -static void i915_report_and_clear_eir(struct drm_i915_private *dev_priv)
> > +static void i915_clear_error_registers(struct drm_i915_private *dev_priv)
> >  {
> > -	struct intel_instdone instdone;
> > -	u32 eir = I915_READ(EIR);
> > -	int pipe;
> > -
> > -	if (!eir)
> > -		return;
> > -
> > -	pr_err("render error detected, EIR: 0x%08x\n", eir);
> > -
> > -	intel_engine_get_instdone(dev_priv->engine[RCS], &instdone);
> > -
> > -	if (IS_G4X(dev_priv)) {
> > -		if (eir & (GM45_ERROR_MEM_PRIV | GM45_ERROR_CP_PRIV)) {
> > -			u32 ipeir = I915_READ(IPEIR_I965);
> > -
> > -			pr_err("  IPEIR: 0x%08x\n", I915_READ(IPEIR_I965));
> > -			pr_err("  IPEHR: 0x%08x\n", I915_READ(IPEHR_I965));
> > -			i915_err_print_instdone(dev_priv, &instdone);
> > -			pr_err("  INSTPS: 0x%08x\n", I915_READ(INSTPS));
> > -			pr_err("  ACTHD: 0x%08x\n",
> > I915_READ(ACTHD_I965));
> 
> But these are what we lose. They are not in the error state.

EIR, IPEIR, IPEHR, INSTPS, and ACTHD (note these are per-ring) are all in
the error state. What am I missing?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list