[Intel-gfx] [PATCH] drm/i915: ratelimit errors in display engine irq
Jani Nikula
jani.nikula at linux.intel.com
Thu Dec 15 08:54:51 UTC 2022
On Wed, 14 Dec 2022, Lucas De Marchi <lucas.demarchi at intel.com> 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 at intel.com>
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> ---
> 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
More information about the Intel-gfx
mailing list