From: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
To: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Mark Brown <broonie@kernel.org>,
Doug Anderson <dianders@chromium.org>,
Chanwoo Choi <cw00.choi@samsung.com>,
Olof Johansson <olof@lixom.net>, Chris Zhong <zyw@rock-chips.com>,
Abhilash Kesavan <kesavan.abhilash@gmail.com>,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH 3/5] regulator: dt-bindings: Add regulator-initial-mode support
Date: Thu, 09 Oct 2014 17:04:35 +0200 [thread overview]
Message-ID: <5436A403.1050109@collabora.co.uk> (raw)
In-Reply-To: <1412844355.1316.15.camel@AMDC1943>
Hello Krzysztof,
Thanks a lot for your feedback.
On 10/09/2014 10:45 AM, Krzysztof Kozlowski wrote:
> On śro, 2014-10-08 at 15:44 +0200, Javier Martinez Canillas wrote:
>> --- a/Documentation/devicetree/bindings/regulator/regulator.txt
>> +++ b/Documentation/devicetree/bindings/regulator/regulator.txt
>> @@ -23,6 +23,14 @@ Optional properties:
>> state among following defined suspend states:
>> <3>: PM_SUSPEND_MEM - Setup regulator according to regulator-state-mem
>> <4>: PM_SUSPEND_MAX - Setup regulator according to regulator-state-disk
>> +- regulator-initial-mode: initial regulator operating mode. One of following:
>> + <1>: REGULATOR_MODE_FAST - Regulator can handle fast changes.
>> + <2>: REGULATOR_MODE_NORMAL - Normal regulator power supply mode.
>> + <4>: REGULATOR_MODE_IDLE - Regulator runs in a more efficient mode.
>> + <8>: REGULATOR_MODE_STANDBY - Regulator runs in the most efficient mode.
>> + modes are defined in the dt-bindings/regulator/regulator.h header and can be
>> + used in device tree sources files. If no mode is defined, then the OS will not
>> + manage the operating mode and the HW default values will be used instead.
>> - regulator-state-mem sub-root node for Suspend-to-RAM mode
>> : suspend to memory, the device goes to sleep, but all data stored in memory,
>> only some external interrupt can wake the device.
>
> I agree with the need and the idea of generic bindings for operating
> modes for regulators. At least for Exynos-based boards the PMICs have
> quite similar opmodes.
>
> However the regulator mode from consumer.h (and in above doc) does not
> match well with these opmodes. Example is yours patch 4/5:
> - idle ("more efficient mode") maps to "low power mode in suspend",
> - standby ("the most efficient mode") maps to "OFF in suspend".
>
> Actually we are not enable "efficient modes" but we configure how the
> regulator will behave when AP says - I'm suspending.
>
Agree, Mark also pointed out that there is a difference between changing
how the regulator will behave on runtime vs changing how the regulator
will behave during system suspend. AFAIU from his explanation, the modes
defined in consumer.h only applies to the former and conceptually there
should be a difference between those two cases even when the Maxim PMIC
seems to mix it both in the data-sheet and by using the same field.
I answered Mark on patch #5 with a suggestion on how to handle this in
a generic way to avoid each driver having their own custom DT binding
and duplicating the parsing code.
Could you please answer there with your thoughts?
>
> Another issue: is "initial_state" not doing all this already?
>
One of the options I indeed evaluated was if using initial_state could be
possible. But currently the .set_suspend_mode function handler is only
called for the STANDBY, MEM and MAX suspend modes. While is true that this
could be extended to also support PM_SUSPEND_ON, I don't think that it
makes sense conceptually. Since is not the same to set a mode to be used
at runtime than setting a mode to be used during suspend.
AFAIU that is the reason why there are separate .set_suspend_mode and
.set_mode operations and that's why there are both an .initial_state
and an .initial_mode.
> Best regards,
> Krzysztof
>
Best regards,
Javier
next prev parent reply other threads:[~2014-10-09 15:04 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-08 13:44 [PATCH 0/5] regulator: Add support for initial operating modes Javier Martinez Canillas
2014-10-08 13:44 ` [PATCH 1/5] regulator: of: Add regulator-initial-mode parse support Javier Martinez Canillas
2014-10-08 14:25 ` Mark Brown
2014-10-08 14:38 ` Javier Martinez Canillas
2014-10-08 15:12 ` Mark Brown
2014-10-08 16:29 ` Javier Martinez Canillas
2014-10-09 10:27 ` Mark Rutland
2014-10-09 15:19 ` Javier Martinez Canillas
2014-10-10 13:17 ` Mark Rutland
2014-10-08 13:44 ` [PATCH 2/5] regulator: dt-bindings: Add DT include for constants Javier Martinez Canillas
2014-10-08 13:44 ` [PATCH 3/5] regulator: dt-bindings: Add regulator-initial-mode support Javier Martinez Canillas
2014-10-08 14:34 ` Mark Brown
2014-10-08 16:00 ` Javier Martinez Canillas
2014-10-09 8:45 ` Krzysztof Kozlowski
2014-10-09 15:04 ` Javier Martinez Canillas [this message]
2014-10-09 19:01 ` Mark Brown
2014-10-09 21:56 ` Javier Martinez Canillas
2014-10-08 13:44 ` [PATCH 4/5] regulator: max77802: Add regulator operating mode set support Javier Martinez Canillas
2014-10-08 14:36 ` Mark Brown
2014-10-08 16:01 ` Javier Martinez Canillas
2014-10-08 13:44 ` [PATCH 5/5] ARM: dts: Add initial regulator mode on exynos Peach boards Javier Martinez Canillas
2014-10-08 14:56 ` Mark Brown
2014-10-08 16:25 ` Javier Martinez Canillas
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=5436A403.1050109@collabora.co.uk \
--to=javier.martinez@collabora.co.uk \
--cc=broonie@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=k.kozlowski@samsung.com \
--cc=kesavan.abhilash@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=olof@lixom.net \
--cc=zyw@rock-chips.com \
/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