drm/edid: Avoid multiple log lines for HFVSDB parsing
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Fri, 16 Sep 2022 10:05:51 +0000 (15:35 +0530)
committerJani Nikula <jani.nikula@intel.com>
Tue, 4 Oct 2022 17:35:51 +0000 (20:35 +0300)
Replace multiple log lines with a single log line at the end of
parsing HF-VSDB. Also use drm_dbg_kms instead of DRM_DBG_KMS, and
add log for DSC1.2 support.

v2: Fixed the formatting issues in the logging (Jani).

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220916100551.2531750-5-ankit.k.nautiyal@intel.com
drivers/gpu/drm/drm_edid.c

index b3ddd2f..7c63d2c 100644 (file)
@@ -5830,6 +5830,9 @@ static void drm_parse_hdmi_forum_scds(struct drm_connector *connector,
        struct drm_display_info *display = &connector->display_info;
        struct drm_hdmi_info *hdmi = &display->hdmi;
        struct drm_hdmi_dsc_cap *hdmi_dsc = &hdmi->dsc_cap;
+       int max_tmds_clock = 0;
+       u8 max_frl_rate = 0;
+       bool dsc_support = false;
 
        display->has_hdmi_infoframe = true;
 
@@ -5849,14 +5852,13 @@ static void drm_parse_hdmi_forum_scds(struct drm_connector *connector,
         */
 
        if (hf_scds[5]) {
-               /* max clock is 5000 KHz times block value */
-               u32 max_tmds_clock = hf_scds[5] * 5000;
                struct drm_scdc *scdc = &hdmi->scdc;
 
+               /* max clock is 5000 KHz times block value */
+               max_tmds_clock = hf_scds[5] * 5000;
+
                if (max_tmds_clock > 340000) {
                        display->max_tmds_clock = max_tmds_clock;
-                       DRM_DEBUG_KMS("HF-VSDB: max TMDS clock %d kHz\n",
-                               display->max_tmds_clock);
                }
 
                if (scdc->supported) {
@@ -5869,9 +5871,6 @@ static void drm_parse_hdmi_forum_scds(struct drm_connector *connector,
        }
 
        if (hf_scds[7]) {
-               u8 max_frl_rate;
-
-               DRM_DEBUG_KMS("hdmi_21 sink detected. parsing edid\n");
                max_frl_rate = (hf_scds[7] & DRM_EDID_MAX_FRL_RATE_MASK) >> 4;
                drm_get_max_frl_rate(max_frl_rate, &hdmi->max_lanes,
                                     &hdmi->max_frl_rate_per_lane);
@@ -5879,8 +5878,14 @@ static void drm_parse_hdmi_forum_scds(struct drm_connector *connector,
 
        drm_parse_ycbcr420_deep_color_info(connector, hf_scds);
 
-       if (cea_db_payload_len(hf_scds) >= 11 && hf_scds[11])
+       if (cea_db_payload_len(hf_scds) >= 11 && hf_scds[11]) {
                drm_parse_dsc_info(hdmi_dsc, hf_scds);
+               dsc_support = true;
+       }
+
+       drm_dbg_kms(connector->dev,
+                   "HF-VSDB: max TMDS clock: %d KHz, HDMI 2.1 support: %s, DSC 1.2 support: %s\n",
+                   max_tmds_clock, str_yes_no(max_frl_rate), str_yes_no(dsc_support));
 }
 
 static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,