Re: [PATCH v7 2/2] pwm: sophgo: add pwm support for Sophgo CV1800 SoC

From: Chen Wang
Date: Wed Apr 09 2025 - 02:26:20 EST



On 2025/4/7 13:38, Jingbao Qiu wrote:
On Sun, Apr 6, 2025 at 8:16 AM Thomas Bonnefille
<thomas.bonnefille@xxxxxxxxxxx> wrote:
Hello,

On Sat Jun 1, 2024 at 1:53 PM CEST, Uwe Kleine-König wrote:
On Wed, May 01, 2024 at 04:32:42PM +0800, Jingbao Qiu wrote:
[...]
+ if ((state & BIT(pwm->hwpwm)) && enable)
+ regmap_update_bits(priv->map, PWM_CV1800_OE,
+ PWM_CV1800_OE_MASK(pwm->hwpwm),
+ PWM_CV1800_REG_ENABLE(pwm->hwpwm));
This looks strange. If BIT(hwpwm) is already set, set it again?!
Also if you used the caching implemented in regmap, you don't need to
make this conditional.

I was testing the series and noticed indeed an issue in this driver at
those lines. If PWM_CV1800_OE isn't set by something else than the
kernel it will never be set and so, there will never be a PWM outputted.

Using :
if (!(state & BIT(pwm->hwpwm)) && enable)
Solved the issue but as Uwe said you can probably rely on regmap caching
to avoid this condition.

...

Do you plan on sending a new iteration some day ? I may have some time
to continue the upstreaming process if you need to.

I am so happy you can continue finish this patch.

Best regards
Jingbao Qiu

Thank you Thomas, I updated info on https://github.com/sophgo/linux/wiki.

Thank you Jingbao too for your good job done.

Chen