pwm: tiehrpwm: Fix disabling of output of PWMs
authorVignesh R <vigneshr@ti.com>
Mon, 11 Jun 2018 06:09:56 +0000 (11:39 +0530)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 9 Jul 2018 16:58:22 +0000 (18:58 +0200)
commit38dabd91ff0bde33352ca3cc65ef515599b77a05
tree709e862b2992312fd6fc583d80c1af19321b777d
parentaa49d628f6e016bcec8c6f8e704b9b18ee697329
pwm: tiehrpwm: Fix disabling of output of PWMs

pwm-tiehrpwm driver disables PWM output by putting it in low output
state via active AQCSFRC register in ehrpwm_pwm_disable(). But, the
AQCSFRC shadow register is not updated. Therefore, when shadow AQCSFRC
register is re-enabled in ehrpwm_pwm_enable() (say to enable second PWM
output), previous settings are lost as shadow register value is loaded
into active register. This results in things like PWMA getting enabled
automatically, when PWMB is enabled and vice versa. Fix this by
updating AQCSFRC shadow register as well during ehrpwm_pwm_disable().

Fixes: 19891b20e7c2 ("pwm: pwm-tiehrpwm: PWM driver support for EHRPWM")
Cc: stable@vger.kernel.org
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-tiehrpwm.c