After tc358768_setup_pll() enables PLL_CKEN and the lock indicator comes up, the DSI register sequence runs near immediately. On TF700T this results in the bridge claiming PLL lock but producing no DSI video output: the panel powers up, the backlight comes on, but the framebuffer is never scanned out.
Insert a small settling delay between PLL setup and the rest of the attach. Suggested-by: Michele Brocco <[email protected]> Tested-by: Michele Brocco <[email protected]> # TF700T Signed-off-by: Svyatoslav Ryhel <[email protected]> --- drivers/gpu/drm/bridge/tc358768.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/bridge/tc358768.c b/drivers/gpu/drm/bridge/tc358768.c index 0f2820b37302..17abb24a7181 100644 --- a/drivers/gpu/drm/bridge/tc358768.c +++ b/drivers/gpu/drm/bridge/tc358768.c @@ -824,6 +824,9 @@ static void tc358768_bridge_atomic_pre_enable(struct drm_bridge *bridge, return; } + /* Allow the PLL to settle */ + msleep(20); + drm_display_mode_to_videomode(mode, &vm); dsiclk = priv->dsiclk; -- 2.51.0
