drm/bridge: tc358767: disable only video stream in tc_stream_disable
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 28 May 2019 08:27:34 +0000 (11:27 +0300)
committerAndrzej Hajda <a.hajda@samsung.com>
Fri, 31 May 2019 13:41:22 +0000 (15:41 +0200)
Currently the code writes 0 to DP0CTL in tc_stream_disable(), which
disables the whole DP link instead of just the video stream. We always
disable the link and the stream together from tc_bridge_disable(), so
this doesn't cause any issues.

Nevertheless, fix this by only clearing VID_EN in tc_stream_disable to
stop the video stream while keeping the link enabled.

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-12-tomi.valkeinen@ti.com
drivers/gpu/drm/bridge/tc358767.c

index 2323a22656e84f69494239e2e488c3eb86e1e0e2..f004db06dee9b7ac4f5c3324728f9e3dcb14304c 100644 (file)
@@ -1076,10 +1076,13 @@ err:
 static int tc_stream_disable(struct tc_data *tc)
 {
        int ret;
+       u32 val;
 
        dev_dbg(tc->dev, "disable video stream\n");
 
-       tc_write(DP0CTL, 0);
+       tc_read(DP0CTL, &val);
+       val &= ~VID_EN;
+       tc_write(DP0CTL, val);
 
        tc_pxl_pll_dis(tc);