The driver currently sets the video stream registers in
tc_main_link_setup. One should be able to establish the DP link without
any video stream, so a more logical place is to configure the stream in
the tc_main_link_stream. So move them there.

Signed-off-by: Tomi Valkeinen <tomi.valkei...@ti.com>
Reviewed-by: Andrzej Hajda <a.ha...@samsung.com>
Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
---
 drivers/gpu/drm/bridge/tc358767.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/bridge/tc358767.c 
b/drivers/gpu/drm/bridge/tc358767.c
index 39a9de880e5a..4de21c3883d8 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -1004,15 +1004,6 @@ static int tc_main_link_setup(struct tc_data *tc)
                return -EAGAIN;
        }
 
-       ret = tc_set_video_mode(tc, tc->mode);
-       if (ret)
-               goto err;
-
-       /* Set M/N */
-       ret = tc_stream_clock_calc(tc);
-       if (ret)
-               goto err;
-
        return 0;
 err_dpcd_read:
        dev_err(tc->dev, "Failed to read DPCD: %d\n", ret);
@@ -1031,6 +1022,15 @@ static int tc_main_link_stream(struct tc_data *tc, int 
state)
        dev_dbg(tc->dev, "stream: %d\n", state);
 
        if (state) {
+               ret = tc_set_video_mode(tc, tc->mode);
+               if (ret)
+                       goto err;
+
+               /* Set M/N */
+               ret = tc_stream_clock_calc(tc);
+               if (ret)
+                       goto err;
+
                value = VID_MN_GEN | DP_EN;
                if (tc->link.base.capabilities & DP_LINK_CAP_ENHANCED_FRAMING)
                        value |= EF_EN;
-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to