Messages in this thread Patch in this message | | | From | Vincent ABRIOU <> | Subject | Re: [PATCH 2/4] drm/panel: otm8009a: fix glitches by moving backlight enable to otm8009a_enable() | Date | Mon, 14 May 2018 08:37:52 +0000 |
| |
Hi Philippe,
Reviewed-by: Vincent Abriou <vincent.abriou@st.com>
BR Vincent
On 04/23/2018 04:10 PM, Philippe Cornu wrote: > The backlight 1st update was in the otm8009a_prepare() function > for a bad reason: backlight was not working in video mode and the > otm8009a_prepare() is in command mode for the init sequence. As the > backlight is now fixed (no lpm), it is good to put it back in the > otm8009a_enable() function, avoiding also image glitches visible > on some "slow" devices. > > Signed-off-by: Philippe Cornu <philippe.cornu@st.com> > --- > drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c > index 0fd2e0144d2b..de4a16d5275c 100644 > --- a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c > +++ b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c > @@ -330,13 +330,6 @@ static int otm8009a_prepare(struct drm_panel *panel) > > ctx->prepared = true; > > - /* > - * Power on the backlight. Note: end-user still controls brightness > - * Note: ctx->prepared must be true before updating the backlight. > - */ > - ctx->bl_dev->props.power = FB_BLANK_UNBLANK; > - backlight_update_status(ctx->bl_dev); > - > return 0; > } > > @@ -344,6 +337,16 @@ static int otm8009a_enable(struct drm_panel *panel) > { > struct otm8009a *ctx = panel_to_otm8009a(panel); > > + if (ctx->enabled) > + return 0; > + > + /* > + * Power on the backlight. Note: end-user still controls brightness > + * Note: ctx->prepared must be true before updating the backlight. > + */ > + ctx->bl_dev->props.power = FB_BLANK_UNBLANK; > + backlight_update_status(ctx->bl_dev); > + > ctx->enabled = true; > > return 0; > | |