Commit 9a4cea62 authored by Lucas De Marchi's avatar Lucas De Marchi

drm/i915: ratelimit errors in display engine irq

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: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221215001459.3759580-1-lucas.demarchi@intel.com
parent 52f14682
...@@ -2447,8 +2447,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) ...@@ -2447,8 +2447,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
ret = IRQ_HANDLED; ret = IRQ_HANDLED;
gen8_de_misc_irq_handler(dev_priv, iir); gen8_de_misc_irq_handler(dev_priv, iir);
} else { } else {
drm_err(&dev_priv->drm, drm_err_ratelimited(&dev_priv->drm,
"The master control interrupt lied (DE MISC)!\n"); "The master control interrupt lied (DE MISC)!\n");
} }
} }
...@@ -2459,8 +2459,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) ...@@ -2459,8 +2459,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
ret = IRQ_HANDLED; ret = IRQ_HANDLED;
gen11_hpd_irq_handler(dev_priv, iir); gen11_hpd_irq_handler(dev_priv, iir);
} else { } else {
drm_err(&dev_priv->drm, drm_err_ratelimited(&dev_priv->drm,
"The master control interrupt lied, (DE HPD)!\n"); "The master control interrupt lied, (DE HPD)!\n");
} }
} }
...@@ -2509,12 +2509,12 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) ...@@ -2509,12 +2509,12 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
} }
if (!found) if (!found)
drm_err(&dev_priv->drm, drm_err_ratelimited(&dev_priv->drm,
"Unexpected DE Port interrupt\n"); "Unexpected DE Port interrupt\n");
} }
else else
drm_err(&dev_priv->drm, drm_err_ratelimited(&dev_priv->drm,
"The master control interrupt lied (DE PORT)!\n"); "The master control interrupt lied (DE PORT)!\n");
} }
for_each_pipe(dev_priv, pipe) { for_each_pipe(dev_priv, pipe) {
...@@ -2525,8 +2525,8 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) ...@@ -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)); iir = intel_uncore_read(&dev_priv->uncore, GEN8_DE_PIPE_IIR(pipe));
if (!iir) { if (!iir) {
drm_err(&dev_priv->drm, drm_err_ratelimited(&dev_priv->drm,
"The master control interrupt lied (DE PIPE)!\n"); "The master control interrupt lied (DE PIPE)!\n");
continue; continue;
} }
...@@ -2547,10 +2547,10 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl) ...@@ -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); fault_errors = iir & gen8_de_pipe_fault_mask(dev_priv);
if (fault_errors) if (fault_errors)
drm_err(&dev_priv->drm, drm_err_ratelimited(&dev_priv->drm,
"Fault errors on pipe %c: 0x%08x\n", "Fault errors on pipe %c: 0x%08x\n",
pipe_name(pipe), pipe_name(pipe),
fault_errors); fault_errors);
} }
if (HAS_PCH_SPLIT(dev_priv) && !HAS_PCH_NOP(dev_priv) && if (HAS_PCH_SPLIT(dev_priv) && !HAS_PCH_NOP(dev_priv) &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment