[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241217150021.2030213-1-fabrice.gasnier@foss.st.com>
Date: Tue, 17 Dec 2024 16:00:21 +0100
From: Fabrice Gasnier <fabrice.gasnier@...s.st.com>
To: <ukleinek@...nel.org>
CC: <alexandre.torgue@...s.st.com>, <fabrice.gasnier@...s.st.com>,
<linux-pwm@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<olivier.moysan@...s.st.com>
Subject: [PATCH] pwm: stm32: fix complementary output in round_waveform_tohw
When the timer supports complementary output, the enable bit is
overridden. It should be OR'ed. This makes all PWM channels for
such timer not to work.
Fixes: deaba9cff809 ("pwm: stm32: Implementation of the waveform callbacks")
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@...s.st.com>
---
drivers/pwm/pwm-stm32.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pwm/pwm-stm32.c b/drivers/pwm/pwm-stm32.c
index b889e64522c3..17e591f61efb 100644
--- a/drivers/pwm/pwm-stm32.c
+++ b/drivers/pwm/pwm-stm32.c
@@ -84,7 +84,7 @@ static int stm32_pwm_round_waveform_tohw(struct pwm_chip *chip,
wfhw->ccer = TIM_CCER_CCxE(ch + 1);
if (priv->have_complementary_output)
- wfhw->ccer = TIM_CCER_CCxNE(ch + 1);
+ wfhw->ccer |= TIM_CCER_CCxNE(ch + 1);
rate = clk_get_rate(priv->clk);
--
2.25.1
Powered by blists - more mailing lists