From: Thierry Reding <thierry.reding@gmail.com>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: Lorenz Brun <lorenz@brun.one>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: Re: [PATCH v2] pwm: mediatek: support inverted polarity
Date: Thu, 6 Apr 2023 16:30:23 +0200 [thread overview]
Message-ID: <ZC7Xf8Wy1x9gnaAY@orome> (raw)
In-Reply-To: <20230406135358.x3et6gvvxqsknfn6@pengutronix.de>
[-- Attachment #1: Type: text/plain, Size: 2046 bytes --]
On Thu, Apr 06, 2023 at 03:53:58PM +0200, Uwe Kleine-König wrote:
> Hello Thierry,
>
> On Thu, Apr 06, 2023 at 03:38:48PM +0200, Thierry Reding wrote:
> > On Thu, Mar 09, 2023 at 02:04:10AM +0100, Lorenz Brun wrote:
> > > + * appear to have the capability to invert the output.
> > > + * This means that inverted mode can not be fully supported as the
> > > + * waveform will always start with the low period and end with the high
> > > + * period. Thus reject non-normal polarity if the shape of the waveform
> > > + * matters, i.e. usage_power is not set.
> > > + */
> > > + if (state->polarity != PWM_POLARITY_NORMAL && !state->usage_power)
> > > return -EINVAL;
> > >
> > > if (!state->enabled) {
> > > @@ -213,7 +221,11 @@ static int pwm_mediatek_apply(struct pwm_chip *chip, struct pwm_device *pwm,
> > > return 0;
> > > }
> > >
> > > - err = pwm_mediatek_config(pwm->chip, pwm, state->duty_cycle, state->period);
> > > + duty_cycle = state->duty_cycle;
> > > + if (state->polarity == PWM_POLARITY_INVERSED)
> > > + duty_cycle = state->period - state->duty_cycle;
> >
> > That's not really what state->usage_power was meant to address.
>
> I don't understand your concern here. I don't like .usage_power, but
> AFAICT this is a legitimite use. With .usage_power = true, the lowlevel
> driver is free to shift the phase_offset and even modify the period size
> and the goal is just that the average power-output matches.
>
> Lorenz's patch does exactly this: It even keeps the period and only
> shifts the phase (by period - duty_cycle). If you consider this not
> legitmate, I think we have to improve the docs about .usage_power.
I realize that I'm being nitpicky here. Setting usage_power = true and
duty = period - duty is a lazy way of achieving what you can easily do
by adjusting the input duty cycle.
If you all really want this, then it should go into the core, because
it's something that can be implemented on basically every single PWM
controller.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2023-04-06 14:31 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-09 1:04 [PATCH v2] pwm: mediatek: support inverted polarity Lorenz Brun
2023-04-06 13:38 ` Thierry Reding
2023-04-06 13:53 ` Uwe Kleine-König
2023-04-06 14:30 ` Thierry Reding [this message]
2023-04-14 5:39 ` Uwe Kleine-König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZC7Xf8Wy1x9gnaAY@orome \
--to=thierry.reding@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pwm@vger.kernel.org \
--cc=lorenz@brun.one \
--cc=matthias.bgg@gmail.com \
--cc=u.kleine-koenig@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox