summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/dp/dp_panel.c
diff options
context:
space:
mode:
authorKuogee Hsieh <quic_khsieh@quicinc.com>2022-01-25 00:17:54 +0100
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2022-02-18 16:32:58 +0100
commitd4aca422539c441a7f3fec749287b36de37d9b6b (patch)
treecbc9a55a00fc43ec30a7185f4a7ff6a65dc71878 /drivers/gpu/drm/msm/dp/dp_panel.c
parentdrm/msm/dp: stop link training after link training 2 failed (diff)
downloadlinux-d4aca422539c441a7f3fec749287b36de37d9b6b.tar.xz
linux-d4aca422539c441a7f3fec749287b36de37d9b6b.zip
drm/msm/dp: always add fail-safe mode into connector mode list
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>
Diffstat (limited to 'drivers/gpu/drm/msm/dp/dp_panel.c')
-rw-r--r--drivers/gpu/drm/msm/dp/dp_panel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c
index 71db10c0f262..f1418722c549 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.c
+++ b/drivers/gpu/drm/msm/dp/dp_panel.c
@@ -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) {