mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jon Hunter <jonathanh@nvidia.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Kevin Hilman <khilman@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Linux PM list <linux-pm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	<linux-tegra@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>
Subject: Re: [RFC PATCH 2/3] PM / Domains: Add support for devices with multiple domains
Date: Wed, 21 Sep 2016 11:01:19 +0100	[thread overview]
Message-ID: <6723a9e3-eef7-489f-0eda-53ca76e89f6e@nvidia.com> (raw)
In-Reply-To: <CAMuHMdVc+EjkbcpPKyzbCfDjp65gF3xP3bhkjh6SKLt6KDTtXg@mail.gmail.com>

Hi Geert,

On 21/09/16 09:53, Geert Uytterhoeven wrote:
> Hi Jon,
> 
> On Tue, Sep 20, 2016 at 12:28 PM, Jon Hunter <jonathanh@nvidia.com> wrote:
>> Some devices may require more than one PM domain to operate and this is
>> not currently by the PM domain framework. Furthermore, the current Linux
>> 'device' structure only allows devices to be associated with a single PM
>> domain and so cannot easily be associated with more than one. To allow
>> devices to be associated with more than one PM domain, if multiple
>> domains are defined for a given device (eg. via device-tree), then:
>> 1. Create a new PM domain for this device. The name of the new PM domain
>>    created matches the device name for which it was created for.
>> 2. Register the new PM domain as a sub-domain for all PM domains
>>    required by the device.
>> 3. Attach the device to the new PM domain.
> 
> This looks a suboptimal to me: if you have n devices sharing the same PM
> domains, you would add n new subdomains?

Yes you would and so in that case it would appear to be suboptimal, I
agree. One option would be to name the new PM domain after its parents
and then see if any PM domains exist that matches the name and verify it
has the required parents. We could even add a prefix to the name to
indicate that this is a PM domain added by the core. Only problem is we
could get some long names!

> Having a clean way to specify multiple PM domains is very useful, though.
> 
> E.g. on Renesas ARM SoCs, devices are usually part of two PM domains:
>   1. A power area (can be "always-on",
>   2. The clock domain.
> 
> As power areas and clock domains are fairly orthogonal (the former use the
> .power_{off,on}() callbacks, the latter set GENPD_FLAG_PM_CLK and use the
> {at,de}tach_dev() callbacks), we currently setup both in the same driver
> (SYSC, for controlling power areas), which forwards the clock domain operations
> to the clock driver (CPG/MSTP or CPG/MSSR).
> Hence we have only single references in the power-domains properties, but
> having two would allow to drop the hardcoded links between the two drivers.

Glad to see others could benefit from this ...

> (Oh no, more DT backwards compatibility issues if this is accepted ;-)

... despite DT compat issues :-(

Jon

-- 
nvpublic

  reply	other threads:[~2016-09-21 10:01 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-20 10:28 [RFC PATCH 0/3] PM / Domains: Add support for devices that require " Jon Hunter
2016-09-20 10:28 ` [RFC PATCH 1/3] PM / Domains: Add helper functions for finding and attaching PM domains Jon Hunter
2016-09-20 10:28 ` [RFC PATCH 2/3] PM / Domains: Add support for devices with multiple domains Jon Hunter
2016-09-20 17:54   ` Jon Hunter
2016-09-21  8:53   ` Geert Uytterhoeven
2016-09-21 10:01     ` Jon Hunter [this message]
2016-09-21 14:37     ` Jon Hunter
2016-09-21 14:57       ` Geert Uytterhoeven
2016-09-23 12:57         ` Jon Hunter
2016-09-23 14:27           ` Geert Uytterhoeven
2016-09-30  8:05             ` Jon Hunter
2016-10-07  9:14   ` Kevin Hilman
2016-10-10 11:24     ` Jon Hunter
2016-09-20 10:28 ` [RFC PATCH 3/3] dt-bindings: Add support for devices with multiple PM domains Jon Hunter
2016-10-06  6:04 ` [RFC PATCH 0/3] PM / Domains: Add support for devices that require multiple domains Rajendra Nayak
2016-10-06  8:25   ` Jon Hunter
2016-10-06  8:43     ` Rajendra Nayak
2016-10-31 10:44       ` Jon Hunter
2016-11-02  8:56         ` Rajendra Nayak
2016-11-16 13:11           ` Ulf Hansson
2016-11-17  2:31             ` Rajendra Nayak
2016-11-17 15:39               ` Stanimir Varbanov
2016-11-22 13:05                 ` Ulf Hansson
2016-11-23  3:48                   ` Rajendra Nayak
2016-10-06 12:22 ` Ulf Hansson
2016-10-10 11:18   ` Jon Hunter
2016-10-10 14:04     ` Ulf Hansson
2016-10-11  9:15       ` Jon Hunter
2016-11-03 14:20         ` Jon Hunter
2016-11-16 10:48           ` Jon Hunter
2016-11-16 12:53             ` Rafael J. Wysocki
2016-11-22 11:12               ` Jon Hunter
2016-11-22 13:31                 ` Ulf Hansson
2016-11-22 14:28                   ` Jon Hunter
2016-11-22 18:26                 ` Kevin Hilman
2016-11-22 18:41                   ` Jon Hunter
2016-11-24  2:30                     ` Stephen Boyd
2016-11-29 11:33                       ` Marek Szyprowski
2016-12-15 11:38                         ` Jon Hunter
2016-11-22 21:55                   ` Rafael J. Wysocki
2016-11-23  9:29                     ` Jon Hunter
2016-11-23 13:15                       ` Rafael J. Wysocki
2017-02-28 15:18 ` Jon Hunter
2017-02-28 15:29   ` Geert Uytterhoeven
2017-03-13  9:37     ` Jon Hunter
2017-03-13 11:45       ` Ulf Hansson
2017-03-13 14:09         ` Jon Hunter
2017-03-13 14:19           ` Geert Uytterhoeven
2017-03-13 14:27             ` Jon Hunter
2017-03-13 14:38               ` Geert Uytterhoeven
2017-03-13 14:51                 ` Jon Hunter
2017-03-13 14:42           ` Ulf Hansson
2017-03-15  8:57             ` Jon Hunter
2017-03-15  3:47           ` Nayak, Rajendra
2017-03-15  9:03             ` Jon Hunter
2017-03-01  6:19   ` Rajendra Nayak

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=6723a9e3-eef7-489f-0eda-53ca76e89f6e@nvidia.com \
    --to=jonathanh@nvidia.com \
    --cc=geert@linux-m68k.org \
    --cc=khilman@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=ulf.hansson@linaro.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

Powered by JetHome