This series applies on top of my other fix "pwm: meson: fix scheduling
while atomic issue" from [0]

The first patch fixes an issue where the maximum possible pre-divider
(128) could not be used because there was an off-by-one error in the
code. I discovered this while testing with the longest supported period
(349514407ns) when running from XTAL. This is verified to work on my
Meson8b Odroid-C1 board using "pwm_b" on GPIOX_11.

The second patch was suggested by Uwe Kleine-König but was actually
implemented much earlier (back in mid 2018) by Bichao Zheng from
Amlogic. This patch fixes changing the duty cycle by relying on the
hardware to re-start the PWM output (instead of adding an artificial
"constant LOW" of about 20ms - as measured by Bichao Zheng when
stopping and re-starting the PWM output from within the driver). I
tested this fix on my Meson8b Odroid-C1 board which uses a PWM driven
CPU regulator (DVFS with all supported OPPs is still working fine for
me, although I couldn't observe any issues before this patch).

I also have some code-improvements queued which I'll send in the next
days, see [1]


[0] https://patchwork.kernel.org/cover/10880419/
[1] https://github.com/xdarklight/linux/commits/meson-pwm-for-5.2-v1


Bichao Zheng (1):
  pwm: meson: don't disable pwm when setting duty repeatedly

Martin Blumenstingl (1):
  pwm: meson: consider 128 a valid pre-divider

 drivers/pwm/pwm-meson.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

-- 
2.21.0

Reply via email to