On Thu, 22 Jul 2021, Daniel Thompson wrote: > Currently there are (at least) two problems in the way pwm_bl starts > managing the enable_gpio pin. Both occur when the backlight is initially > off and the driver finds the pin not already in output mode and, as a > result, unconditionally switches it to output-mode and asserts the signal. > > Problem 1: This could cause the backlight to flicker since, at this stage > in driver initialisation, we have no idea what the PWM and regulator are > doing (an unconfigured PWM could easily "rest" at 100% duty cycle). > > Problem 2: This will cause us not to correctly honour the > post_pwm_on_delay (which also risks flickers). > > Fix this by moving the code to configure the GPIO output mode until after > we have examines the handover state. That allows us to initialize > enable_gpio to off if the backlight is currently off and on if the > backlight is on. > > Reported-by: Marek Vasut <marex@xxxxxxx> > Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Acked-by: Marek Vasut <marex@xxxxxxx> > Tested-by: Marek Vasut <marex@xxxxxxx> > --- > drivers/video/backlight/pwm_bl.c | 54 +++++++++++++++++--------------- > 1 file changed, 28 insertions(+), 26 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog