[PATCH 0/6] pwm: sun4i: only wait 2 cycles prior to disabling
Roman Beranek
roman.beranek at prusa3d.cz
Sun May 30 21:46:02 PDT 2021
As Emil Lenngren has previously shown [1], actually only 1-2 cycles of
the prescaler-divided clock are necessary to pass before the PWM turns
off, not a full period.
To avoid having the PWM re-enabled from another thread while asleep,
ctrl_lock spinlock was converted to a mutex so that it can be released
only after the clock gate has finally been turned on.
[1] https://linux-sunxi.org/PWM_Controller_Register_Guide
Roman Beranek (6):
pwm: sun4i: enable clk prior to getting its rate
pwm: sun4i: disable EN bit prior to the delay
pwm: sun4i: replace spinlock with a mutex
pwm: sun4i: simplify calculation of the delay time
pwm: sun4i: shorten the delay to 2 cycles
pwm: sun4i: don't delay if the PWM is already off
drivers/pwm/pwm-sun4i.c | 56 +++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 30 deletions(-)
--
2.31.1
More information about the linux-arm-kernel
mailing list