In case the PHY is not initialized, do it in samsung_dsim_enable(),
otherwise the link configuration registers are not programmed at all.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Fabio Estevam <feste...@gmail.com>
Cc: Guido Günther <a...@sigxcpu.org>
Cc: Jaehoon Chung <jh80.ch...@samsung.com>
Cc: Lucas Stach <l.st...@pengutronix.de>
Cc: Marek Szyprowski <m.szyprow...@samsung.com>
Cc: Michael Tretter <m.tret...@pengutronix.de>
Cc: NXP Linux Team <linux-...@nxp.com>
Cc: Shawn Guo <shawn...@kernel.org>
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
To: dri-devel@lists.freedesktop.org
--
NOTE: This depends on 
https://patchwork.kernel.org/project/dri-devel/list/?series=347439
---
 drivers/gpu/drm/bridge/samsung-dsim.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c 
b/drivers/gpu/drm/bridge/samsung-dsim.c
index 6d2d8dc027de..fbd87a74eb9f 100644
--- a/drivers/gpu/drm/bridge/samsung-dsim.c
+++ b/drivers/gpu/drm/bridge/samsung-dsim.c
@@ -1244,6 +1244,13 @@ static void samsung_dsim_enable(struct samsung_dsim *dsi)
        pm_runtime_get_sync(dsi->dev);
        dsi->state |= DSIM_STATE_ENABLED;
 
+       if (!(dsi->state & DSIM_STATE_INITIALIZED)) {
+               ret = samsung_dsim_init(dsi);
+               if (ret)
+                       return;
+               dsi->state |= DSIM_STATE_INITIALIZED;
+       }
+
        if (dsi->panel) {
                ret = drm_panel_prepare(dsi->panel);
                if (ret < 0)
-- 
2.28.0

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

Reply via email to