pwm: samsung: do not set manual update bit in pwm_samsung_config
pwm_samsung_config() sets the manual update bit via a call to the pwm_samsung_enable() function even when the channel is already running. This causes noticable flicker on display if we try to change the backlight brightness from minimum to maximum, continuously. So, we remove the call to pwm_samsung_enable() from pwm_samsung_config to avoid the flicker and this change doesn't harm normal working since the pwm-backlight driver already calls pwm_samsung_enable() where needed. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
parent
00afb429fc
commit
3bdf878102
|
@ -335,9 +335,6 @@ static int pwm_samsung_config(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||||
writel(tcnt, our_chip->base + REG_TCNTB(pwm->hwpwm));
|
writel(tcnt, our_chip->base + REG_TCNTB(pwm->hwpwm));
|
||||||
writel(tcmp, our_chip->base + REG_TCMPB(pwm->hwpwm));
|
writel(tcmp, our_chip->base + REG_TCMPB(pwm->hwpwm));
|
||||||
|
|
||||||
if (test_bit(PWMF_ENABLED, &pwm->flags))
|
|
||||||
pwm_samsung_enable(chip, pwm);
|
|
||||||
|
|
||||||
chan->period_ns = period_ns;
|
chan->period_ns = period_ns;
|
||||||
chan->tin_ns = tin_ns;
|
chan->tin_ns = tin_ns;
|
||||||
chan->duty_ns = duty_ns;
|
chan->duty_ns = duty_ns;
|
||||||
|
|
Loading…
Reference in New Issue