public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Mark Brown <broonie@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Peter De Schrijver <pdeschrijver@nvidia.com>,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v1 6/6] soc/tegra: regulators: Add regulators coupler for Tegra30
Date: Sun, 12 May 2019 21:29:54 +0300	[thread overview]
Message-ID: <3988cfb6-55fe-48c4-5365-ac79871f7fd2@gmail.com> (raw)
In-Reply-To: <20190512090446.GN21483@sirena.org.uk>

12.05.2019 12:04, Mark Brown пишет:
> On Wed, May 08, 2019 at 04:27:42PM +0300, Dmitry Osipenko wrote:
> 
>> Constraints:
> 
>> 1) The max-spread voltage is 300mV.
> 
>> 2) CORE voltage must be higher than the CPU by at least N mV, where N
>> varies depending on the CPU voltage.
> 
> Those seem like they should be doable in generic code, though the fact
> that the constraint is variable makes it annoying to specify - otherwise
> it'd just be a minimum and maximum spread.  I'm not really coming up
> with any great ideas right now, it's getting into OPP type territory but
> it sounds like there's more flexibility for ramping the core voltage so
> you'd end up with silly numbers of OPPs.

The OPP shouldn't have to do anything in regards to the regulators
coupling. The whole idea of the regulators coupling is to make device
drivers to not churn with the coupling. The coupling in this case is
specific to SoC and not to a particular board.

I think the current approach with the customized regulators coupler is
the best solution for the time being. We may consider something more
generic if there will be other users with a similar coupling
requirements, otherwise it's quite difficult to judge what is "generic".
Do you agree?

>> 3) There is a constraint on the maximum CORE voltage depending on
>> hardware model/revision (cpu_speedo_id) where a higher voltages
>> apparently may cause physical damage, so it's better to hardcode the
>> limitation in the code rather than to rely on a board's device-tree
>> description. This constraint is quite vaguely defined in the downstream
>> kernel, I'm not really sure if it's solely about the hardware safety.
> 
> I'd expect this to be enforced by the cpufreq driver just not selecting
> higher voltages on affected parts.
> 

CPUFreq driver will only handle the CPU regulator and it won't know
anything about the CORE.

Anyway, please scratch the third constraint, I messed up it with the
other *minimum* CORE voltage constraint detail which makes the minimum
voltage to depend on the hardware version in addition to the CPU voltage.

  reply	other threads:[~2019-05-12 18:30 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-14 17:59 [RFC PATCH v1 0/6] Introduce machine-specific regulators coupling API Dmitry Osipenko
2019-04-14 17:59 ` [RFC PATCH v1 1/6] regulator: core: Introduce API for machine-specific regulators coupling Dmitry Osipenko
2019-05-08  7:55   ` Mark Brown
2019-05-08 13:05     ` Dmitry Osipenko
2019-04-14 17:59 ` [RFC PATCH v1 2/6] regulator: core: Parse max-spread value per regulator couple Dmitry Osipenko
2019-04-14 17:59 ` [RFC PATCH v1 3/6] regulator: core: Expose some of core functions Dmitry Osipenko
2019-04-14 17:59 ` [RFC PATCH v1 4/6] regulator: core Bump MAX_COUPLED to 3 Dmitry Osipenko
2019-04-14 17:59 ` [RFC PATCH v1 5/6] soc/tegra: regulators: Add regulators coupler for Tegra20 Dmitry Osipenko
2019-05-08  7:57   ` Mark Brown
2019-05-08 13:10     ` Dmitry Osipenko
2019-05-12  9:06       ` Mark Brown
2019-05-12 17:42         ` Dmitry Osipenko
2019-05-13 17:38           ` Mark Brown
2019-05-14 19:12             ` Dmitry Osipenko
2019-04-14 17:59 ` [RFC PATCH v1 6/6] soc/tegra: regulators: Add regulators coupler for Tegra30 Dmitry Osipenko
2019-05-08  7:58   ` Mark Brown
2019-05-08 13:27     ` Dmitry Osipenko
2019-05-12  9:04       ` Mark Brown
2019-05-12 18:29         ` Dmitry Osipenko [this message]
2019-05-13 17:40           ` Mark Brown
2019-05-14 18:30             ` Dmitry Osipenko
2019-05-15  9:05               ` Mark Brown
2019-05-15 11:44                 ` Dmitry Osipenko
2019-05-15 14:56                   ` Mark Brown
2019-05-05 14:57 ` [RFC PATCH v1 0/6] Introduce machine-specific regulators coupling API Dmitry Osipenko
2019-05-08  8:05   ` Mark Brown
2019-05-08 14:03     ` Dmitry Osipenko

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=3988cfb6-55fe-48c4-5365-ac79871f7fd2@gmail.com \
    --to=digetx@gmail.com \
    --cc=broonie@kernel.org \
    --cc=jonathanh@nvidia.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=pdeschrijver@nvidia.com \
    --cc=thierry.reding@gmail.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