drm/bridge: nwl-dsi: Get MIPI DSI controller and PHY ready in ->mode_set()
authorLiu Ying <victor.liu@nxp.com>
Fri, 23 Apr 2021 09:26:43 +0000 (17:26 +0800)
committerNeil Armstrong <narmstrong@baylibre.com>
Fri, 30 Apr 2021 08:39:28 +0000 (10:39 +0200)
commit885811372fe101c4299c53eecc9fee72cf927a0c
treebdbca051818e835d4812eca5aa6c1bbcc3ecefdb
parent2c5260cdc5066e4970bbf0ad18413d0b1bed3352
drm/bridge: nwl-dsi: Get MIPI DSI controller and PHY ready in ->mode_set()

Some MIPI DSI panel drivers like 'raydium,rm68200' send
MIPI_DCS_SET_DISPLAY_ON commands in panel_funcs->prepare(), which
requires the MIPI DSI controller and PHY to be ready beforehand.
Without this patch, the nwl-dsi driver gets the MIPI DSI controller
and PHY ready in bridge_funcs->atomic_pre_enable(), which happens after
the panel_funcs->prepare().  So, this patch shifts the bridge operation
ealier from bridge_funcs->atomic_pre_enable() to bridge_funcs->mode_set().
This way, more MIPI DSI panels can connect to this nwl-dsi bridge.

Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Guido Günther <agx@sigxcpu.org>
Cc: Robert Chiras <robert.chiras@nxp.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1619170003-4817-4-git-send-email-victor.liu@nxp.com
drivers/gpu/drm/bridge/nwl-dsi.c