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.

From: Yang, Robert
Date: Thu Sep 25 2014 - 11:01:04 EST


Hi Thierry,

I agree Nikolaus's fix is more efficient and works too.

Robert

-----Original Message-----
From: Thierry Reding [mailto:thierry.reding@xxxxxxxxx]
Sent: Thursday, September 25, 2014 1:55 AM
To: hachyang@xxxxxxxxx
Cc: linux-pwm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Yang, Robert; Nikolaus Voss
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@xxxxxxxxx wrote:
> From: ryang <ryang@xxxxxxxx>
>
> Signed-off-by: ryang <ryang@xxxxxxxx>
> ---
> 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
Please be advised that this email may contain confidential information. If you are not the intended recipient, please notify us by email by replying to the sender and delete this message. The sender disclaims that the content of this email constitutes an offer to enter into, or the acceptance of, any agreement; provided that the foregoing does not invalidate the binding effect of any digital or other electronic reproduction of a manual signature that is included in any attachment.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/