On Wed, 14 Dec 2022, Lucas De Marchi <lucas.demarchi@xxxxxxxxx> wrote: > While debugging page table faults it's useful not to kill the machine > with thousands of error mesages. Ratelimit all errors in > gen8_de_irq_handler(). > > Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_irq.c | 28 ++++++++++++++-------------- > 1 file changed, 14 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index edfe363af838..7a43d1bb6f97 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -2448,8 +2448,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) > ret = IRQ_HANDLED; > gen8_de_misc_irq_handler(dev_priv, iir); > } else { > - drm_err(&dev_priv->drm, > - "The master control interrupt lied (DE MISC)!\n"); > + drm_err_ratelimited(&dev_priv->drm, > + "The master control interrupt lied (DE MISC)!\n"); > } > } > > @@ -2460,8 +2460,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) > ret = IRQ_HANDLED; > gen11_hpd_irq_handler(dev_priv, iir); > } else { > - drm_err(&dev_priv->drm, > - "The master control interrupt lied, (DE HPD)!\n"); > + drm_err_ratelimited(&dev_priv->drm, > + "The master control interrupt lied, (DE HPD)!\n"); > } > } > > @@ -2510,12 +2510,12 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) > } > > if (!found) > - drm_err(&dev_priv->drm, > - "Unexpected DE Port interrupt\n"); > + drm_err_ratelimited(&dev_priv->drm, > + "Unexpected DE Port interrupt\n"); > } > else > - drm_err(&dev_priv->drm, > - "The master control interrupt lied (DE PORT)!\n"); > + drm_err_ratelimited(&dev_priv->drm, > + "The master control interrupt lied (DE PORT)!\n"); > } > > for_each_pipe(dev_priv, pipe) { > @@ -2526,8 +2526,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) > > iir = intel_uncore_read(&dev_priv->uncore, GEN8_DE_PIPE_IIR(pipe)); > if (!iir) { > - drm_err(&dev_priv->drm, > - "The master control interrupt lied (DE PIPE)!\n"); > + drm_err_ratelimited(&dev_priv->drm, > + "The master control interrupt lied (DE PIPE)!\n"); > continue; > } > > @@ -2548,10 +2548,10 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) > > fault_errors = iir & gen8_de_pipe_fault_mask(dev_priv); > if (fault_errors) > - drm_err(&dev_priv->drm, > - "Fault errors on pipe %c: 0x%08x\n", > - pipe_name(pipe), > - fault_errors); > + drm_err_ratelimited(&dev_priv->drm, > + "Fault errors on pipe %c: 0x%08x\n", > + pipe_name(pipe), > + fault_errors); > } > > if (HAS_PCH_SPLIT(dev_priv) && !HAS_PCH_NOP(dev_priv) && -- Jani Nikula, Intel Open Source Graphics Center