[PATCH 06/26] drm/dp: Add a helper to get the SDP type as a string

Ankit Nautiyal
2026-04-08T08:57:56Z

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.

While at it, rename "SDP : AS_SDP" to "SDP : Adaptive Sync"

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 36 ++++++++++++++++++++++---
1 file changed, 32 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index e29958f8b0b6..102328d9022d 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -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 Copy Management";
+ 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_incr_ms: %d\n", as_sdp->duration_incr_ms);
--
2.45.2