Skip to content

Commit

Permalink
drm/i915: ratelimit errors in display engine irq
Browse files Browse the repository at this point in the history
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@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221215001459.3759580-1-lucas.demarchi@intel.com
  • Loading branch information
Lucas De Marchi committed Dec 16, 2022
1 parent 52f1468 commit 9a4cea6
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions drivers/gpu/drm/i915/i915_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -2447,8 +2447,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");
}
}

Expand All @@ -2459,8 +2459,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");
}
}

Expand Down Expand Up @@ -2509,12 +2509,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) {
Expand All @@ -2525,8 +2525,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;
}

Expand All @@ -2547,10 +2547,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) &&
Expand Down

0 comments on commit 9a4cea6

Please sign in to comment.