[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<MA0P287MB226270BEC9AD175FEB28E0B5FEB42@MA0P287MB2262.INDP287.PROD.OUTLOOK.COM>
Date: Wed, 9 Apr 2025 14:25:09 +0800
From: Chen Wang <unicorn_wang@...look.com>
To: Jingbao Qiu <qiujingbao.dlmu@...il.com>,
Thomas Bonnefille <thomas.bonnefille@...tlin.com>
Cc: Uwe Kleine-König <ukleinek@...nel.org>, robh@...nel.org,
krzk+dt@...nel.org, conor+dt@...nel.org, dlan@...too.org,
linux-pwm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 2/2] pwm: sophgo: add pwm support for Sophgo CV1800 SoC
On 2025/4/7 13:38, Jingbao Qiu wrote:
> On Sun, Apr 6, 2025 at 8:16 AM Thomas Bonnefille
> <thomas.bonnefille@...tlin.com> 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
Powered by blists - more mailing lists