[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <664fc9fb-aeed-4f45-8e4a-20bbba791d1e@linaro.org>
Date: Tue, 22 Apr 2025 09:37:03 +0200
From: Neil Armstrong <neil.armstrong@...aro.org>
To: Hugo Villeneuve <hugo@...ovil.com>, Jagan Teki <jagan@...eble.ai>,
Jessica Zhang <quic_jesszhan@...cinc.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Linus Walleij <linus.walleij@...aro.org>,
Zhaoxiong Lv <lvzhaoxiong@...qin.corp-partner.google.com>,
Hugo Villeneuve <hvilleneuve@...onoff.com>
Cc: stable@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm: panel: jd9365da: fix reset signal polarity in
unprepare
On 17/04/2025 21:55, Hugo Villeneuve wrote:
> From: Hugo Villeneuve <hvilleneuve@...onoff.com>
>
> commit a8972d5a49b4 ("drm: panel: jd9365da-h3: fix reset signal polarity")
> fixed reset signal polarity in jadard_dsi_probe() and jadard_prepare().
>
> It was not done in jadard_unprepare() because of an incorrect assumption
> about reset line handling in power off mode. After looking into the
> datasheet, it now appears that before disabling regulators, the reset line
> is deasserted first, and if reset_before_power_off_vcioo is true, then the
> reset line is asserted.
>
> Fix reset polarity by inverting gpiod_set_value() second argument in
> in jadard_unprepare().
>
> Fixes: 6b818c533dd8 ("drm: panel: Add Jadard JD9365DA-H3 DSI panel")
> Fixes: 2b976ad760dc ("drm/panel: jd9365da: Support for kd101ne3-40ti MIPI-DSI panel")
> Fixes: a8972d5a49b4 ("drm: panel: jd9365da-h3: fix reset signal polarity")
> Cc: stable@...r.kernel.org
> Signed-off-by: Hugo Villeneuve <hvilleneuve@...onoff.com>
> ---
> drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c
> index 7d68a8acfe2ea..eb0f8373258c3 100644
> --- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c
> +++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c
> @@ -129,11 +129,11 @@ static int jadard_unprepare(struct drm_panel *panel)
> {
> struct jadard *jadard = panel_to_jadard(panel);
>
> - gpiod_set_value(jadard->reset, 1);
> + gpiod_set_value(jadard->reset, 0);
> msleep(120);
>
> if (jadard->desc->reset_before_power_off_vcioo) {
> - gpiod_set_value(jadard->reset, 0);
> + gpiod_set_value(jadard->reset, 1);
>
> usleep_range(1000, 2000);
> }
>
> base-commit: 7adf8b1afc14832de099f9e178f08f91dc0dd6d0
Reviewed-by: Neil Armstrong <neil.armstrong@...aro.org>
Powered by blists - more mailing lists