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

David Heidelberg via B4 Relay posted 1 patch 1 month, 4 weeks ago
drivers/gpu/drm/panel/panel-visionox-rm69299.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH v2] drm/panel: visionox-rm69299: Make use of prepare_prev_first
Posted by David Heidelberg via B4 Relay 1 month, 4 weeks ago
From: Guido Günther <agx@sigxcpu.org>

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@sigxcpu.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
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@ixit.cz
---
 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@ixit.cz>


Re: [PATCH v2] drm/panel: visionox-rm69299: Make use of prepare_prev_first
Posted by Doug Anderson 1 month, 4 weeks ago
Hi,

On Thu, Apr 16, 2026 at 11:55 PM David Heidelberg via B4 Relay
<devnull+david.ixit.cz@kernel.org> wrote:
>
> From: Guido Günther <agx@sigxcpu.org>
>
> 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@sigxcpu.org>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> 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@ixit.cz
> ---
>  drivers/gpu/drm/panel/panel-visionox-rm69299.c | 2 ++
>  1 file changed, 2 insertions(+)

Reviewed-by: Douglas Anderson <dianders@chromium.org>

Pushed to drm-misc-fixes:

[1/1] drm/panel: visionox-rm69299: Make use of prepare_prev_first
      commit: 4a92ef0c57df610ba0b2eb7f308c5472020ce8ea
Re: [PATCH v2] drm/panel: visionox-rm69299: Make use of prepare_prev_first
Posted by Neil Armstrong 1 month, 4 weeks ago
On 4/17/26 08:55, David Heidelberg via B4 Relay wrote:
> From: Guido Günther <agx@sigxcpu.org>
> 
> 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@sigxcpu.org>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> 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@ixit.cz
> ---
>   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,

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>

Thanks,
Neil