Message ID | 20231117202536.1387815-3-macroalpha82@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | rockchip: Add Powkiddy RK2023 | expand |
On Fri, Nov 17, 2023 at 02:25:32PM -0600, Chris Morgan wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Improve the panel's ability to restore from suspend by holding the > panel in suspend after unprepare. Now I have confirmation this does fix a bug for some users, and a somewhat serious bug at that. A user had their device suspended for approximately 12 hours and when they returned the screen was not displaying correctly, even after a reboot. This patch was recommended for troubleshooting, and confirmed to fix the problem (note, the screen did eventually "right" itself after several hours of being off prior to testing this fix). So now knowing it's really a bug as there was some question previously if there were actual issues, is there a way this can be added to the 6.6 and older supported kernels? Thanks to brooksytech for the bug report and confirmation of fixes. Might be a bit late for this, but: Tested-by: brooksytech <macebrooks@gmail.com> > > Fixes: b1d39f0f4264 ("drm/panel: Add NewVision NV3051D MIPI-DSI LCD panel") > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com> > --- > drivers/gpu/drm/panel/panel-newvision-nv3051d.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c > index 79de6c886292..c44c6945662f 100644 > --- a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c > +++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c > @@ -261,6 +261,8 @@ static int panel_nv3051d_unprepare(struct drm_panel *panel) > > usleep_range(10000, 15000); > > + gpiod_set_value_cansleep(ctx->reset_gpio, 1); > + > regulator_disable(ctx->vdd); > > return 0; > -- > 2.34.1 >
diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c index 79de6c886292..c44c6945662f 100644 --- a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c +++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c @@ -261,6 +261,8 @@ static int panel_nv3051d_unprepare(struct drm_panel *panel) usleep_range(10000, 15000); + gpiod_set_value_cansleep(ctx->reset_gpio, 1); + regulator_disable(ctx->vdd); return 0;