diff mbox series

[V2,2/5] drm/panel-elida-kd35t133: hold panel in reset for unprepare

Message ID 20231117194405.1386265-3-macroalpha82@gmail.com (mailing list archive)
State New, archived
Headers show
Series Elida KD35T133 Panel Improvements | expand

Commit Message

Chris Morgan Nov. 17, 2023, 7:44 p.m. UTC
From: Chris Morgan <macromorgan@hotmail.com>

For devices like the Anbernic RG351M and RG351P the panel is wired to
an always on regulator. When the device suspends and wakes up, there
are some slight artifacts on the screen that go away over time. If
instead we hold the panel in reset status after it is unprepared,
this does not happen.

Fixes: 5b6603360c12 ("drm/panel: add panel driver for Elida KD35T133 panels")
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 drivers/gpu/drm/panel/panel-elida-kd35t133.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jessica Zhang Nov. 17, 2023, 9:19 p.m. UTC | #1
On 11/17/2023 11:44 AM, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> For devices like the Anbernic RG351M and RG351P the panel is wired to
> an always on regulator. When the device suspends and wakes up, there
> are some slight artifacts on the screen that go away over time. If
> instead we hold the panel in reset status after it is unprepared,
> this does not happen.
> 
> Fixes: 5b6603360c12 ("drm/panel: add panel driver for Elida KD35T133 panels")
> Signed-off-by: Chris Morgan <macromorgan@hotmail.com>

Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>

> ---
>   drivers/gpu/drm/panel/panel-elida-kd35t133.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-elida-kd35t133.c b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
> index 6cd8536c09ff..f1fc4a26f447 100644
> --- a/drivers/gpu/drm/panel/panel-elida-kd35t133.c
> +++ b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
> @@ -104,6 +104,8 @@ static int kd35t133_unprepare(struct drm_panel *panel)
>   		return ret;
>   	}
>   
> +	gpiod_set_value_cansleep(ctx->reset_gpio, 1);
> +
>   	regulator_disable(ctx->iovcc);
>   	regulator_disable(ctx->vdd);
>   
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-elida-kd35t133.c b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
index 6cd8536c09ff..f1fc4a26f447 100644
--- a/drivers/gpu/drm/panel/panel-elida-kd35t133.c
+++ b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
@@ -104,6 +104,8 @@  static int kd35t133_unprepare(struct drm_panel *panel)
 		return ret;
 	}
 
+	gpiod_set_value_cansleep(ctx->reset_gpio, 1);
+
 	regulator_disable(ctx->iovcc);
 	regulator_disable(ctx->vdd);