]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/dp: Add a helper to get the SDP type as a string
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Tue, 28 Apr 2026 07:44:55 +0000 (13:14 +0530)
committerSuraj Kandpal <suraj.kandpal@intel.com>
Mon, 11 May 2026 08:58:47 +0000 (14:28 +0530)
Introduce dp_sdp_type_get_name() to get the SDP type as a string.
Use this to log the SDP type based on the sdp_type fields of the
VSC and AS SDPs instead of the hardcoded strings.

v2: Modify the SDP names to match the DisplayPort Spec. (Ville)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20260428074457.3566918-8-ankit.k.nautiyal@intel.com
drivers/gpu/drm/display/drm_dp_helper.c

index ccb77b0744d8f64ab567933ca9c616a26ac06baa..c2221aa40643175dd009e574167fab5de144f82d 100644 (file)
@@ -3487,10 +3487,38 @@ static const char *dp_content_type_get_name(enum dp_content_type content_type)
        }
 }
 
+static const char *dp_sdp_type_get_name(unsigned char type)
+{
+       switch (type) {
+       case DP_SDP_AUDIO_TIMESTAMP:
+               return "Audio_TimeStamp";
+       case DP_SDP_AUDIO_STREAM:
+               return "Audio_Stream";
+       case DP_SDP_EXTENSION:
+               return "Extension";
+       case DP_SDP_AUDIO_COPYMANAGEMENT:
+               return "Audio_CopyManagement";
+       case DP_SDP_ISRC:
+               return "ISRC";
+       case DP_SDP_VSC:
+               return "VSC";
+       case DP_SDP_PPS:
+               return "PPS";
+       case DP_SDP_VSC_EXT_VESA:
+               return "VSC_EXT_VESA";
+       case DP_SDP_VSC_EXT_CEA:
+               return "VSC_EXT_CEA";
+       case DP_SDP_ADAPTIVE_SYNC:
+               return "Adaptive-Sync";
+       default:
+               return "Unknown";
+       }
+}
+
 void drm_dp_vsc_sdp_log(struct drm_printer *p, const struct drm_dp_vsc_sdp *vsc)
 {
-       drm_printf(p, "DP SDP: VSC, revision %u, length %u\n",
-                  vsc->revision, vsc->length);
+       drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
+                  dp_sdp_type_get_name(vsc->sdp_type), vsc->revision, vsc->length);
        drm_printf(p, "    pixelformat: %s\n",
                   dp_pixelformat_get_name(vsc->pixelformat));
        drm_printf(p, "    colorimetry: %s\n",
@@ -3505,8 +3533,8 @@ EXPORT_SYMBOL(drm_dp_vsc_sdp_log);
 
 void drm_dp_as_sdp_log(struct drm_printer *p, const struct drm_dp_as_sdp *as_sdp)
 {
-       drm_printf(p, "DP SDP: AS_SDP, revision %u, length %u\n",
-                  as_sdp->revision, as_sdp->length);
+       drm_printf(p, "DP SDP: %s, revision %u, length %u\n",
+                  dp_sdp_type_get_name(as_sdp->sdp_type), as_sdp->revision, as_sdp->length);
        drm_printf(p, "    vtotal: %d\n", as_sdp->vtotal);
        drm_printf(p, "    target rr: %d\n", as_sdp->target_rr);
        drm_printf(p, "    duration increase ms: %d\n", as_sdp->duration_incr_ms);