drm/bridge: tc358767: give VSDELAY some positive value
authorDavid Jander <david@protonic.nl>
Fri, 21 Jul 2023 16:53:28 +0000 (18:53 +0200)
committerMarek Vasut <marex@denx.de>
Fri, 21 Jul 2023 19:29:52 +0000 (21:29 +0200)
The documentation is not clear about how this delay works.
Empirical tests have shown that with a VSDELAY of 0, the first
scanline is not properly formatted in the output stream when
DSI->DP mode is used. The calculation spreadsheets from Toshiba
seem to always make this value equal to the HFP + 10 for DSI->DP
use-case. For DSI->DPI this value should be > 2 and for DPI->DP
it seems to always be 0x64.

Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Marek Vasut <marex@denx.de> # TC9595
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Marek Vasut <marex@denx.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20230721165328.3968759-2-l.stach@pengutronix.de
drivers/gpu/drm/bridge/tc358767.c

index 40d52f6..b45bffa 100644 (file)
@@ -817,7 +817,7 @@ static int tc_set_common_video_mode(struct tc_data *tc,
         * sync signals
         */
        ret = regmap_write(tc->regmap, VPCTRL0,
-                          FIELD_PREP(VSDELAY, 0) |
+                          FIELD_PREP(VSDELAY, right_margin + 10) |
                           OPXLFMT_RGB888 | FRMSYNC_DISABLED | MSF_DISABLED);
        if (ret)
                return ret;