OSDN Git Service

gpio: mvebu: improve pwm period calculation accuracy
authorBaruch Siach <baruch@tkos.co.il>
Wed, 20 Jan 2021 16:16:25 +0000 (18:16 +0200)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 15 Feb 2021 10:43:30 +0000 (11:43 +0100)
commitaa37e27f610fe3e7539c066d9c1f5304390086d6
tree40e5f553d7fb46c1976af9952b053db5044d6f7f
parent4bf2426103d2dd89c1b48bd5eba8cd16903ec40b
gpio: mvebu: improve pwm period calculation accuracy

Change 'off' register value calculation from

  $off = (period - duty_cycle) * clkrate / NSEC_PER_SEC

to

  $off = (period * clkrate / NSEC_PER_SEC) - $on

That is, divide the full period value to reduce rounding error.

Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-mvebu.c