[PATCH v4] backlight: ktd253: Stabilize backlight
Lee Jones
lee.jones at linaro.org
Wed Jul 21 16:28:46 UTC 2021
On Thu, 15 Jul 2021, Linus Walleij wrote:
> Remove interrupt disablement during backlight setting. It is
> way to dangerous and makes platforms instable by having it
> miss vblank IRQs leading to the graphics derailing.
>
> The code is using ndelay() which is not available on
> platforms such as ARM and will result in 32 * udelay(1)
> which is substantial.
>
> Add some code to detect if an interrupt occurs during the
> tight loop and in that case just redo it from the top.
>
> Fixes: 5317f37e48b9 ("backlight: Add Kinetic KTD253 backlight driver")
> Cc: Stephan Gerhold <stephan at gerhold.net>
> Reported-by: newbyte at disroot.org
> Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> ChangeLog v3->v4:
> - Collect Daniel's Reviewed-by.
> ChangeLog v2->v3:
> - Read my own patch and realized a bug: when we get a timeout
> we bounce back to max period, but still count down the pwm
> with one leading to an off-by-one error. Fix it by extending
> some else clauses.
> ChangeLog v1->v2:
> - Alter the dimming code to check for how many ns the pulse
> is low, and if it gets to ~100 us then redo from start.
> This is to account for the advent that an IRQ arrives while
> setting backlight and hits the low pulse making it way
> too long.
> ---
> drivers/video/backlight/ktd253-backlight.c | 75 ++++++++++++++++------
> 1 file changed, 55 insertions(+), 20 deletions(-)
Applied, thanks.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
More information about the dri-devel
mailing list