The DSI host must be enabled for the panel to be initialized in
prepare(). Set the prepare_prev_first flag to guarantee this.
This fixes the panel operation on NXP i.MX8MP SoC / Samsung DSIM
DSI host.

Fixes: 849b2e3ff969 ("drm/panel: Add Sitronix ST7701 panel driver")
Signed-off-by: Marek Vasut <ma...@denx.de>
---
Cc: Chris Morgan <macromor...@hotmail.com>
Cc: David Airlie <airl...@gmail.com>
Cc: Hironori KIKUCHI <kikucha...@gmail.com>
Cc: Jagan Teki <ja...@amarulasolutions.com>
Cc: Jessica Zhang <quic_jessz...@quicinc.com>
Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
Cc: Maxime Ripard <mrip...@kernel.org>
Cc: Neil Armstrong <neil.armstr...@linaro.org>
Cc: Simona Vetter <sim...@ffwll.ch>
Cc: Thomas Zimmermann <tzimmerm...@suse.de>
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org # v6.2+
---
Note that the prepare_prev_first flag was added in Linux 6.2.y commit
5ea6b1702781 ("drm/panel: Add prepare_prev_first flag to drm_panel"),
hence the CC stable v6.2+, even if the Fixes tag points to a commit
in Linux 5.1.y .
---
 drivers/gpu/drm/panel/panel-sitronix-st7701.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c 
b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
index eef03d04e0cd2..1f72ef7ca74c9 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@ -1177,6 +1177,7 @@ static int st7701_probe(struct device *dev, int 
connector_type)
                return dev_err_probe(dev, ret, "Failed to get orientation\n");
 
        drm_panel_init(&st7701->panel, dev, &st7701_funcs, connector_type);
+       st7701->panel.prepare_prev_first = true;
 
        /**
         * Once sleep out has been issued, ST7701 IC required to wait 120ms
-- 
2.45.2

Reply via email to