]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/dsb: Decode DSB error interrupts
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Feb 2025 22:31:59 +0000 (00:31 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 12 Feb 2025 19:00:01 +0000 (21:00 +0200)
Decode the DSB error interrupts into human readable
form for easier debugging.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250207223159.14132-9-ville.syrjala@linux.intel.com
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
drivers/gpu/drm/i915/display/intel_dsb.c

index aba57ddfbb9220343535e15d7e9fe723ca02d7d4..db69b1c676f7a7247f2c6e8f1a9936d050015610 100644 (file)
@@ -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);
 }