Adding in the linux-pwm mailing list.

On Wed, Jun 04, 2014 at 02:56:13PM +0200, Raphaƫl Poggi wrote:
> Hello,
> 
> I'm using the pwm-atmel driver to control led, but i'm facing a problem.
> 
> When writing "echo 0 > /sys/class/leds/d1/brightness" (to switch off
> the led) sometimes the led stayed active.
> 
> After investigation I think this problem is due to this function:
> 
> static void atmel_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
> {
>     struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip);
> 
>     atmel_pwm_writel(atmel_pwm, PWM_DIS, 1 << pwm->hwpwm);
> 
>     clk_disable(atmel_pwm->clk);
> }
> 
> By disable the pwm channel, I think the duty cycle "0" has not been
> update, and the channel is disable and stayed in active state (high or
> low depending of polarity).

This sounds like a bug that could be fixed by this commit:

        916030db4399 pwm: atmel: correct CDTY calculation

What version of the kernel are you seeing this problem with? The above
commit was first added in v3.15-rc1, so maybe try that or any later
version to see if that fixes it.

Thierry

Attachment: pgpVc5QZrKASe.pgp
Description: PGP signature

Reply via email to