On 2/8/2025 4:01 AM, Ville Syrjala wrote:
From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Decode the DSB error interrupts into human readable
form for easier debugging.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>

Reviewed-by: Ankit Nautiyal <ankit.k.nauti...@intel.com>


---
  drivers/gpu/drm/i915/display/intel_dsb.c | 15 ++++++++++++---
  1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c 
b/drivers/gpu/drm/i915/display/intel_dsb.c
index aba57ddfbb92..db69b1c676f7 100644
--- a/drivers/gpu/drm/i915/display/intel_dsb.c
+++ b/drivers/gpu/drm/i915/display/intel_dsb.c
@@ -860,7 +860,16 @@ void intel_dsb_irq_handler(struct intel_display *display,
        }
errors = tmp & dsb_error_int_status(display);
-       if (errors)
-               drm_err(display->drm, "[CRTC:%d:%s] DSB %d error interrupt: 
0x%x\n",
-                       crtc->base.base.id, crtc->base.name, dsb_id, errors);
+       if (errors & DSB_ATS_FAULT_INT_STATUS)
+               drm_err(display->drm, "[CRTC:%d:%s] DSB %d ATS fault\n",
+                       crtc->base.base.id, crtc->base.name, dsb_id);
+       if (errors & DSB_GTT_FAULT_INT_STATUS)
+               drm_err(display->drm, "[CRTC:%d:%s] DSB %d GTT fault\n",
+                       crtc->base.base.id, crtc->base.name, dsb_id);
+       if (errors & DSB_RSPTIMEOUT_INT_STATUS)
+               drm_err(display->drm, "[CRTC:%d:%s] DSB %d response timeout\n",
+                       crtc->base.base.id, crtc->base.name, dsb_id);
+       if (errors & DSB_POLL_ERR_INT_STATUS)
+               drm_err(display->drm, "[CRTC:%d:%s] DSB %d poll error\n",
+                       crtc->base.base.id, crtc->base.name, dsb_id);
  }

Reply via email to