drm/i915/dsb: Decode DSB error interrupts

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>
This commit is contained in:
Ville Syrjälä
2025-02-08 00:31:59 +02:00
parent c3571a239e
commit f9f34d44c7

View 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);
}