[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20230310214658.424vui3frynit437@pengutronix.de>
Date: Fri, 10 Mar 2023 22:46:58 +0100
From: Uwe Kleine-König <u.kleine-koenig@...gutronix.de>
To: fnkl.kernel@...il.com
Cc: Thierry Reding <thierry.reding@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
- <asahi@...ts.linux.dev>, Hector Martin <marcan@...can.st>,
Sven Peter <sven@...npeter.dev>,
Alyssa Rosenzweig <alyssa@...enzweig.io>,
linux-pwm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v8 2/5] pwm: Add Apple PWM controller
Hello Sascha,
On Fri, Mar 10, 2023 at 07:44:08PM +0100, Sasha Finkelstein via B4 Relay wrote:
> +static int apple_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
> + const struct pwm_state *state)
> +{
> + struct apple_pwm *fpwm;
> +
> + if (state->polarity == PWM_POLARITY_INVERSED)
> + return -EINVAL;
> +
> + fpwm = to_apple_pwm(chip);
> + if (state->enabled) {
> + u64 on_cycles, off_cycles;
> +
> + on_cycles = mul_u64_u64_div_u64(fpwm->clkrate,
> + state->duty_cycle, NSEC_PER_SEC);
> + if (on_cycles > 0xFFFFFFFF)
> + on_cycles = 0xFFFFFFFF;
> +
> + off_cycles = mul_u64_u64_div_u64(fpwm->clkrate,
> + state->period, NSEC_PER_SEC) - on_cycles;
> + if (off_cycles > 0xFFFFFFFF)
> + return -ERANGE;
This is still wrong and needs clamping, too.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists