drm/msm/dp: always add fail-safe mode into connector mode list
authorKuogee Hsieh <quic_khsieh@quicinc.com>
Mon, 24 Jan 2022 23:17:54 +0000 (15:17 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:33 +0000 (14:23 +0200)
[ Upstream commit d4aca422539c441a7f3fec749287b36de37d9b6b ]

Some of DP link compliant test expects to return fail-safe mode
if prefer detailed timing mode can not be supported by mainlink's
lane and rate after link training. Therefore add fail-safe mode
into connector mode list as backup mode. This patch fixes test
case 4.2.2.1.

Changes in v2:
-- add Fixes text string

Fixes: 4b85d405cfe9 ( "drm/msm/dp: reduce link rate if failed at link training 1")
Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/1643066274-25814-1-git-send-email-quic_khsieh@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/dp/dp_panel.c

index 2181b60..5f23e6f 100644 (file)
@@ -212,6 +212,11 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel,
                if (drm_add_modes_noedid(connector, 640, 480))
                        drm_set_preferred_mode(connector, 640, 480);
                mutex_unlock(&connector->dev->mode_config.mutex);
+       } else {
+               /* always add fail-safe mode as backup mode */
+               mutex_lock(&connector->dev->mode_config.mutex);
+               drm_add_modes_noedid(connector, 640, 480);
+               mutex_unlock(&connector->dev->mode_config.mutex);
        }
 
        if (panel->aux_cfg_update_done) {