From: Ankit Nautiyal Date: Tue, 28 Apr 2026 07:44:55 +0000 (+0530) Subject: drm/dp: Add a helper to get the SDP type as a string X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=899f7991ea409e57aaa4c4c0a76810a32da3f051;p=thirdparty%2Fkernel%2Flinux.git drm/dp: Add a helper to get the SDP type as a string 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 Reviewed-by: Ville Syrjälä Signed-off-by: Suraj Kandpal Link: https://patch.msgid.link/20260428074457.3566918-8-ankit.k.nautiyal@intel.com --- diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c index ccb77b0744d8..c2221aa40643 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_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);