drm/bridge: tc358767: reset voltage-swing & pre-emphasis
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 28 May 2019 08:27:25 +0000 (11:27 +0300)
committerAndrzej Hajda <a.hajda@samsung.com>
Fri, 31 May 2019 13:41:16 +0000 (15:41 +0200)
We need to reset DPCD voltage-swing & pre-emphasis before starting the
link training, as otherwise tc358767 will use the previous values as
minimums.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190528082747.3631-3-tomi.valkeinen@ti.com
drivers/gpu/drm/bridge/tc358767.c

index b6c4d1063ccb33ed608e108adc0bee18209d6d40..c8b04f711db38ba665732b60fb09b7d3a2d6cdc9 100644 (file)
@@ -956,6 +956,13 @@ static int tc_main_link_setup(struct tc_data *tc)
        if (ret < 0)
                goto err_dpcd_write;
 
+       /* Reset voltage-swing & pre-emphasis */
+       tmp[0] = tmp[1] = DP_TRAIN_VOLTAGE_SWING_LEVEL_0 |
+                         DP_TRAIN_PRE_EMPH_LEVEL_0;
+       ret = drm_dp_dpcd_write(aux, DP_TRAINING_LANE0_SET, tmp, 2);
+       if (ret < 0)
+               goto err_dpcd_write;
+
        ret = tc_link_training(tc, DP_TRAINING_PATTERN_1);
        if (ret)
                goto err;