Messages in this thread | | | Date | Thu, 25 Sep 2014 09:55:09 +0200 | From | Thierry Reding <> | Subject | Re: [PATCH 1/1] PWM-atmel: Fixed a bug which set the pwm clock prescaler incorrectly. In the defect code the prescaler was always one more than expected value, which resulted in the pwm output with wrong frequency and duty cycle. |
| |
On Wed, Sep 10, 2014 at 03:35:19PM -0600, hachyang@gmail.com wrote: > From: ryang <ryang@hach.com> > > Signed-off-by: ryang <ryang@hach.com> > --- > drivers/pwm/pwm-atmel.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/pwm/pwm-atmel.c b/drivers/pwm/pwm-atmel.c > index 6e700a5..2dca0bf 100644 > --- a/drivers/pwm/pwm-atmel.c > +++ b/drivers/pwm/pwm-atmel.c > @@ -128,7 +128,8 @@ static int atmel_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, > return -EINVAL; > } > } > - > + /* Need to reduce the prescaler by 1 */ > + pres--; > /* Calculate the duty cycles */ > prd = div; > div *= duty_ns; > -- > 1.9.1
I think this was fixed by a different patch by Nikolaus in a more direct way, see: https://lkml.org/lkml/2014/9/24/28
I've pushed that patch to the for-next branch of the PWM tree. Can you verify that the issue you were seeing is gone?
Thierry [unhandled content-type:application/pgp-signature] | |