All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Clemens Gruber <clemens.gruber@pqgruber.com>
Cc: linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-stable@vger.kernel.org,
	Florian Vaussard <florian.vaussard@heig-vd.ch>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: Re: [PATCH 1/2] pwm: pca9685: fix period change with same duty cycle
Date: Wed, 18 Jan 2017 11:56:50 +0100	[thread overview]
Message-ID: <20170118105650.GL18989@ulmo.ba.sec> (raw)
In-Reply-To: <20161213155251.28684-1-clemens.gruber@pqgruber.com>

[-- Attachment #1: Type: text/plain, Size: 1848 bytes --]

On Tue, Dec 13, 2016 at 04:52:50PM +0100, Clemens Gruber wrote:
> When first implementing support for changing the output frequency, an
> optimization was added to continue the PWM after changing the prescaler
> without having to reprogram the ON and OFF registers for the duty cycle,
> in case the duty cycle stayed the same.
> This was flawed, because we compared the absolute value of the duty
> cycle in nanoseconds instead of the ratio to the period.
> 
> Fix the problem by removing the shortcut.
> 
> Fixes: 01ec8472009c9 ("pwm-pca9685: Support changing the output frequency")
> Cc: <stable@vger.kernel.org> # v4.3+
> Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
> ---
>  drivers/pwm/pwm-pca9685.c | 11 -----------
>  1 file changed, 11 deletions(-)

Mika, Andy, can you guys help review this and 2/2?

Thanks,
Thierry

> 
> diff --git a/drivers/pwm/pwm-pca9685.c b/drivers/pwm/pwm-pca9685.c
> index 117fccf..01a6a83 100644
> --- a/drivers/pwm/pwm-pca9685.c
> +++ b/drivers/pwm/pwm-pca9685.c
> @@ -65,7 +65,6 @@
>  #define PCA9685_MAXCHAN		0x10
>  
>  #define LED_FULL		(1 << 4)
> -#define MODE1_RESTART		(1 << 7)
>  #define MODE1_SLEEP		(1 << 4)
>  #define MODE2_INVRT		(1 << 4)
>  #define MODE2_OUTDRV		(1 << 2)
> @@ -117,16 +116,6 @@ static int pca9685_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
>  			udelay(500);
>  
>  			pca->period_ns = period_ns;
> -
> -			/*
> -			 * If the duty cycle did not change, restart PWM with
> -			 * the same duty cycle to period ratio and return.
> -			 */
> -			if (duty_ns == pca->duty_ns) {
> -				regmap_update_bits(pca->regmap, PCA9685_MODE1,
> -						   MODE1_RESTART, 0x1);
> -				return 0;
> -			}
>  		} else {
>  			dev_err(chip->dev,
>  				"prescaler not set: period out of bounds!\n");
> -- 
> 2.10.2
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2017-01-18 10:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-13 15:52 [PATCH 1/2] pwm: pca9685: fix period change with same duty cycle Clemens Gruber
2016-12-13 15:52 ` [PATCH 2/2] pwm: pca9685: fix prescaler initialization Clemens Gruber
2017-01-18 10:57   ` Thierry Reding
2017-01-18 11:09     ` Andy Shevchenko
2017-01-18 13:53       ` Clemens Gruber
2017-01-18 14:01         ` Andy Shevchenko
2017-01-18 14:25           ` Clemens Gruber
2017-01-19 12:34             ` Andy Shevchenko
2017-01-19 14:49               ` Clemens Gruber
2017-01-19 16:10                 ` Andy Shevchenko
2017-01-19 16:52                   ` Clemens Gruber
2017-01-19 16:58                     ` Andy Shevchenko
2017-01-20  6:39                     ` Thierry Reding
2017-01-20  9:58                       ` Andy Shevchenko
2017-01-25 18:05                       ` Clemens Gruber
2017-01-13 12:43 ` [PATCH 1/2] pwm: pca9685: fix period change with same duty cycle Clemens Gruber
2017-01-18 10:56 ` Thierry Reding [this message]
2017-01-18 11:09   ` Mika Westerberg
2017-01-20  6:44 ` Thierry Reding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170118105650.GL18989@ulmo.ba.sec \
    --to=thierry.reding@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=clemens.gruber@pqgruber.com \
    --cc=florian.vaussard@heig-vd.ch \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux-stable@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.