[PATCH v2] drm/panel: visionox-rm69299: Make use of prepare_prev_first

From: David Heidelberg via B4 Relay

Date: Fri Apr 17 2026 - 02:58:50 EST


From: Guido Günther <agx@xxxxxxxxxxx>

The DSI link must be powered up to let panel driver to talk to the panel
during prepare() callback execution. Set the prepare_prev_first flag to
guarantee this.

Fixes: 9e15123eca79 ("drm/msm/dsi: Stop unconditionally powering up DSI hosts at modeset")
Signed-off-by: Guido Günther <agx@xxxxxxxxxxx>
Signed-off-by: David Heidelberg <david@xxxxxxx>
---
Changes in v2:
- Move the prepare_prev_first before drm_panel_add(). (Douglas)
- Link to v1: https://lore.kernel.org/r/20260415-axolotl-display-v1-1-7abb2d248355@xxxxxxx
---
drivers/gpu/drm/panel/panel-visionox-rm69299.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-visionox-rm69299.c b/drivers/gpu/drm/panel/panel-visionox-rm69299.c
index e5e688cf98fdc..f1430370ff942 100644
--- a/drivers/gpu/drm/panel/panel-visionox-rm69299.c
+++ b/drivers/gpu/drm/panel/panel-visionox-rm69299.c
@@ -371,16 +371,18 @@ static int visionox_rm69299_probe(struct mipi_dsi_device *dsi)
return ret;

ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
if (IS_ERR(ctx->reset_gpio)) {
dev_err(dev, "cannot get reset gpio %ld\n", PTR_ERR(ctx->reset_gpio));
return PTR_ERR(ctx->reset_gpio);
}

+ ctx->panel.prepare_prev_first = true;
+
ctx->panel.backlight = visionox_rm69299_create_backlight(ctx);
if (IS_ERR(ctx->panel.backlight))
return dev_err_probe(dev, PTR_ERR(ctx->panel.backlight),
"Failed to create backlight\n");

drm_panel_add(&ctx->panel);

dsi->lanes = 4;

---
base-commit: e6efabc0afca02efa263aba533f35d90117ab283
change-id: 20260415-axolotl-display-715ce416e5c8

Best regards,
--
David Heidelberg <david@xxxxxxx>