From: Max Krummenacher <max.oss.09@gmail.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Max Krummenacher <max.krummenacher@toradex.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Linux PM list <linux-pm@vger.kernel.org>,
Francesco Dolcini <francesco.dolcini@toradex.com>,
Mark Brown <broonie@kernel.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Kevin Hilman <khilman@kernel.org>,
Andrejs Cainikovs <andrejs.cainikovs@toradex.com>,
Biju Das <biju.das.jz@bp.renesas.com>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Fabio Estevam <festevam@gmail.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Marcel Ziswiler <marcel.ziswiler@toradex.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Rob Herring <robh+dt@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shawn Guo <shawnguo@kernel.org>, Vinod Koul <vkoul@kernel.org>,
Will Deacon <will@kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1 0/5] power: domain: Add driver for a PM domain provider which controls
Date: Thu, 23 Jun 2022 18:14:36 +0200 [thread overview]
Message-ID: <CAEHkU3Wya0nRhaBDisAQBm5kf=2YcdJYzz2jKiL___mZQzL_Sw@mail.gmail.com> (raw)
In-Reply-To: <CACRpkdZ0=8poNcFaCYSmMyg1GBfkHLAr3QvvzFKweLPr3UM2vg@mail.gmail.com>
Hi all
On Thu, Jun 16, 2022 at 2:51 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Thu, Jun 9, 2022 at 5:10 PM Max Krummenacher <max.oss.09@gmail.com> wrote:
>
> > This series adds a PM domain provider driver which enables/disables
> > a regulator to control its power state.
>
> Actually, we did this on the U8500 in 2011.
>
> IIRC this led to problems because we had to invent "atomic regulators"
> because regulators use kernel abstractions that assume slowpath
> (process context) and power domains does not, i.e. they execute in
> fastpath, such as an interrupt handler.
>
> The atomic regulator was a subset of regulator that only handled
> regulators that would result in something like an atomic register write.
>
> In the end it was not worth trying to upstream this approach, and
> as I remember it, Ulf Hansson intended to let the power domains poke
> these registers directly, which was easier. (It's on Ulfs TODO list to
> actually implement this, hehe.)
>
> Yours,
> Linus Walleij
Thanks for all the feedback.
The approach taken with the patchset seems to be architecturally wrong
and as Linus pointed out has additionally the flaw that the regulator
would need to be controllable in atomic context which depending on
the regulator driver / configuration may not be fulfilled.
So our plan is to explicitly handle a (shared) regulator in every
driver involved, adding that regulator capability for drivers not
already having one.
The question which remains is on how one would model functionality
which by itself does not need a driver but would need regulator
support to switch its supply on in run state and off in suspend
states and poweroff, like for example a simple level shifter.
Any suggestions on this topic? Thanks.
Cheers
Max
next prev parent reply other threads:[~2022-06-23 16:14 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-09 15:08 [PATCH v1 0/5] power: domain: Add driver for a PM domain provider which controls Max Krummenacher
2022-06-09 15:08 ` [PATCH v1 1/5] dt-bindings: power: Add bindings for a power domain controlled by a regulator Max Krummenacher
2022-06-10 2:57 ` Rob Herring
2022-06-15 15:19 ` Max Krummenacher
2022-06-15 17:16 ` Krzysztof Kozlowski
2022-06-14 7:23 ` Geert Uytterhoeven
2022-06-15 15:18 ` Max Krummenacher
2022-06-09 15:08 ` [PATCH v1 2/5] pm: add regulator power domain controller Max Krummenacher
2022-06-09 15:08 ` [PATCH v1 3/5] MAINTAINERS: add REGULATOR POWER DOMAIN Max Krummenacher
2022-06-09 15:08 ` [RFC PATCH v1 4/5] arm64: defconfig: Enable generic power domain controller controlling a regulator Max Krummenacher
2022-06-09 15:08 ` [RFC PATCH v1 5/5] ARM64: verdin-imx8mm: use regulator power domain to model sleep-moci Max Krummenacher
2022-06-14 7:29 ` Geert Uytterhoeven
2022-06-15 15:32 ` Max Krummenacher
2022-06-13 19:15 ` [PATCH v1 0/5] power: domain: Add driver for a PM domain provider which controls Rob Herring
2022-06-14 7:22 ` Geert Uytterhoeven
2022-06-15 16:10 ` Max Krummenacher
2022-06-15 17:15 ` Krzysztof Kozlowski
2022-06-15 17:31 ` Marcel Ziswiler
2022-06-15 17:37 ` Krzysztof Kozlowski
2022-06-15 18:13 ` Marcel Ziswiler
2022-06-15 18:48 ` Dmitry Baryshkov
2022-06-15 20:48 ` Krzysztof Kozlowski
2022-06-15 18:24 ` Robin Murphy
2022-06-15 19:12 ` Mark Brown
2022-06-15 21:14 ` Ulf Hansson
2022-06-16 12:50 ` Linus Walleij
2022-06-23 16:14 ` Max Krummenacher [this message]
2022-07-13 11:43 ` Ulf Hansson
2022-07-18 9:49 ` Linus Walleij
2022-07-26 16:03 ` Francesco Dolcini
2022-07-28 9:37 ` Ulf Hansson
2022-07-28 11:21 ` Francesco Dolcini
2022-08-26 13:50 ` Ulf Hansson
2022-09-09 14:22 ` Francesco Dolcini
2022-09-22 13:49 ` Ulf Hansson
2022-09-23 18:00 ` Krzysztof Kozlowski
2022-09-26 10:12 ` Ulf Hansson
2022-09-26 15:11 ` Krzysztof Kozlowski
2022-09-27 9:48 ` Ulf Hansson
2022-09-27 12:49 ` Geert Uytterhoeven
2022-09-27 14:26 ` Krzysztof Kozlowski
2022-09-28 7:59 ` Ulf Hansson
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='CAEHkU3Wya0nRhaBDisAQBm5kf=2YcdJYzz2jKiL___mZQzL_Sw@mail.gmail.com' \
--to=max.oss.09@gmail.com \
--cc=andrejs.cainikovs@toradex.com \
--cc=biju.das.jz@bp.renesas.com \
--cc=bjorn.andersson@linaro.org \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=festevam@gmail.com \
--cc=francesco.dolcini@toradex.com \
--cc=geert+renesas@glider.be \
--cc=kernel@pengutronix.de \
--cc=khilman@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=marcel.ziswiler@toradex.com \
--cc=max.krummenacher@toradex.com \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=vkoul@kernel.org \
--cc=will@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).