[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251123232029.1956-1-rafael.v.volkmer@gmail.com>
Date: Sun, 23 Nov 2025 20:20:27 -0300
From: "Rafael V. Volkmer" <rafael.v.volkmer@...il.com>
To: ukleinek@...nel.org
Cc: linux-kernel@...r.kernel.org,
linux-pwm@...r.kernel.org,
rafael.v.volkmer@...il.com
Subject: [PATCH v6 0/6] pwm: tiehrpwm: add .get_state and tidy register handling
On Fri, 12 Sep 2025 11:57:44 +0200, Uwe Kleine-König wrote:
> FTR: I applied my series now and it should appear in next on Monday. So
> going forward should have become a tad easier for you.
Hi Uwe,
This v6 is rebased on top of your recent tiehrpwm series in pwm/for-next,
so all of your fixes (including the prescaler corner case and AQCTL cleanups)
are kept as-is and this series only builds on that behaviour.
The only places where there is some unavoidable "policy" are .get_state()
and the probe-time handling of channels that firmware might have left
running. Both follow the same semantics that the driver already used:
a channel is considered enabled if AQCTL is non-zero and not software-
forced in AQCSFRC, and disabled otherwise. At probe we take a best-effort
snapshot of AQCTL(A/B) and AQCSFRC before touching clocks or runtime PM;
if the block is power-gated or the clock is off these registers read as
0 and we deliberately interpret that as "not configured / disabled" to
avoid inventing state that the hardware doesnt expose.
For channels that look active at probe, we only bring tbclk and runtime PM
usage into line with what is already programmed in hardware; we dont
introduce any additional permanent bias beyond reflecting that observed
state.
Best regards,
Rafael V. Volkmer
Rafael .V Volkmer (6):
pwm: tiehrpwm: use GENMASK() and FIELD_PREP() for register fields
pwm: tiehrpwm: use GENMASK() and FIELD_PREP() for prescalers
pwm: tiehrpwm: refactor AQCTL polarity macros
pwm: tiehrpwm: implement .get_state callback
pwm: tiehrpwm: handle already-running channels at probe
pwm: tiehrpwm: tidy period conflict check
drivers/pwm/pwm-tiehrpwm.c | 332 ++++++++++++++++++++++++++++---------
1 file changed, 258 insertions(+), 74 deletions(-)
--
2.43.0
Powered by blists - more mailing lists