[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241103205215.GA509903@debian>
Date: Sun, 3 Nov 2024 21:52:15 +0100
From: Dimitri Fedrau <dima.fedrau@...il.com>
To: Uwe Kleine-König <u.kleine-koenig@...libre.com>
Cc: Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>, linux-pwm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 2/2] pwm: add support for NXPs high-side switch
MC33XS2410
Hello Uwe,
Am Sun, Nov 03, 2024 at 09:19:36PM +0100 schrieb Uwe Kleine-König:
> Hello Dimitri,
>
> On Sun, Nov 03, 2024 at 08:07:09PM +0100, Dimitri Fedrau wrote:
> > Am Thu, Oct 24, 2024 at 11:19:16PM +0200 schrieb Uwe Kleine-König:
> > > What breaks if you drop the check for state->enabled?
> > >
> > The device is unable to generate a 0% duty cycle, to support this you
> > proposed in an earlier review to disable the output. Without checking if
> > the output is disabled, the mc33xs2410_pwm_get_state function returns the
> > wrong duty cycle for a previously setted 0% duty cycle. A "0" value in the
> > MC33XS2410_PWM_DC register means that the relative duty cylce is 1/256. As
> > a result there are complaints if PWM_DEBUG is enabled.
>
> I fail to follow. If .enabled=true + .duty_cycle=0 is requested you
> disable. That's fine. However it shouldn't be necessary to use
> state->enabled in .get_state(). I didn't look at the actual code, but if
> you provide a sequence of writes to /sys that trigger a PWM_DEBUG
> output, I'll take another look.
>
Apply 0% duty cycle: .enabled=false + .duty_cycle=0
Below some writes triggering PWM_DEBUG output:
# echo 488282 > /sys/class/pwm/pwmchip3/pwm0/period
# echo 244140 > /sys/class/pwm/pwmchip3/pwm0/duty_cycle
# echo 0 > /sys/class/pwm/pwmchip3/pwm0/duty_cycle
[ 91.813513] mc33xs2410-pwm spi0.0: .apply is supposed to round down duty_cycle (requested: 0/488282, applied: 1908/488282)
Best regards,
Dimitri
Powered by blists - more mailing lists