From: Rajendra Nayak <rnayak@codeaurora.org>
To: Jon Hunter <jonathanh@nvidia.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Kevin Hilman <khilman@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-tegra@vger.kernel.org
Subject: Re: [RFC PATCH 0/3] PM / Domains: Add support for devices that require multiple domains
Date: Wed, 02 Nov 2016 14:26:34 +0530 [thread overview]
Message-ID: <5819AA42.5060603@codeaurora.org> (raw)
In-Reply-To: <91b96909-64bc-db72-6da5-556272565091@nvidia.com>
Hi Jon,
On 10/31/2016 04:14 PM, Jon Hunter wrote:
> Hi Rajendra,
>
> On 06/10/16 09:43, Rajendra Nayak wrote:
>>
>> On 10/06/2016 01:55 PM, Jon Hunter wrote:
>>> Hi Rajendra,
>>>
>>> On 06/10/16 07:04, Rajendra Nayak wrote:
>>>>
>>>> On 09/20/2016 03:58 PM, Jon Hunter wrote:
>>>>> The Tegra124/210 XUSB subsystem (that consists of both host and device
>>>>> controllers) is partitioned across 3 PM domains which are:
>>>>> - XUSBA: Superspeed logic (for USB 3.0)
>>>>> - XUSBB: Device controller
>>>>> - XUSBC: Host controller
>>>>>
>>>>> These power domains are not nested and can be powered-up and down
>>>>> independently of one another. In practice different scenarios require
>>>>> different combinations of the power domains, for example:
>>>>> - Superspeed host: XUSBA and XUSBC
>>>>> - Superspeed device: XUSBA and XUSBB
>>>>>
>>>>> Although it could be possible to logically nest both the XUSBB and XUSBC
>>>>> domains under the XUSBA, superspeed may not always be used/required and
>>>>> so this would keep it on unnecessarily.
>>>>
>>>> Hey Jon, so does this RFC provide a way to just specify multiple Powerdomains
>>>> for a device (which then will *all* be powered on/off together) or does
>>>> it also provide for more granular control of these powerdomains?
>>>
>>> Only to specify multiple power-domains for a device and not the later.
>>>
>>>> The above statement seems to suggest you would need more granular control
>>>> of these powerdomains (like keeping XUSBA off in case superspeed it not
>>>> needed) but I can't seem to figure out how you achieve it with this series.
>>>
>>> It is an interesting point but today we have always kept the superspeed
>>> partition on if the device is configured for superspeed regardless of
>>> what is actually connected. I will check to see if the h/w would allow
>>> us to turn it off if a non-superspeed device is in use but I did not
>>> think so.
>>>
>>> Do you have any interesting use-cases that would make use of this or
>>> require other such enhancements?
>>
>> We do have atleast a few devices which need to control multiple power domains,
>> I will need to look more to see if any of them can be controlled individually.
>> The downstream code we have models these (powerdomains) as regulators and
>> the drivers hence have individual control on each (specifying multiple -supply's
>> in DT)
>
> Were you able to check to see if you need to have individual control for the power-domains?
I had a look at the Video decode block (for msm8996), which seems to be powered using 3 different
powerdomains, mainly venus, venus_core0 and venus_core1. The venus PD powers the ARM core
which runs the firmware, while the venus_core0 and venus_core1 power the encode/decode logic,
so for things like firmware image loading you ideally need only venus PD to be ON, but during
an encode/decode operation you would need all 3 to be ON.
The downstream driver turns *all* of them together, and does not control them individually.
For upstream, the way we have it working (the driver is not merged) is by having venus be the parent
of venus_core0 and venus_core0 as the parent of venus_core1, and having venus_core1 mentioned as
the powerdomain for the video decode block in DT.
So in summary, there is still no need to control them individually, but given there is no way to
specify more than one powerdomain for a given device, we are ending up hooking up some
parent/child relations in the powerdomain code.
regards,
Rajendra
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
next prev parent reply other threads:[~2016-11-02 8:56 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 multiple domains Jon Hunter
2016-09-20 10:28 ` [RFC PATCH 1/3] PM / Domains: Add helper functions for finding and attaching PM domains Jon Hunter
[not found] ` <1474367287-10402-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
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
[not found] ` <CAMuHMdVc+EjkbcpPKyzbCfDjp65gF3xP3bhkjh6SKLt6KDTtXg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-21 14:37 ` Jon Hunter
[not found] ` <658004af-e4f4-8b0c-cdc1-43661d331d70-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-21 14:57 ` Geert Uytterhoeven
2016-09-23 12:57 ` Jon Hunter
[not found] ` <1c217cf4-8682-8e6d-6958-419923e995cd-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-23 14:27 ` Geert Uytterhoeven
2016-09-30 8:05 ` Jon Hunter
2016-10-07 9:14 ` Kevin Hilman
[not found] ` <7hlgy0frlb.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
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 [this message]
[not found] ` <5819AA42.5060603-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-11-16 13:11 ` Ulf Hansson
[not found] ` <CAPDyKFpdRzDotofr+0F6gfuWg4hHikEfmxS2aM2D+hmq_JpHRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-17 2:31 ` Rajendra Nayak
2016-11-17 15:39 ` Stanimir Varbanov
[not found] ` <4bafcd71-edc9-9ddd-d8c4-093e4d9c58db-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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
[not found] ` <90faea7d-65b6-590a-83f1-24fcdffa0569-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-10-10 14:04 ` Ulf Hansson
2016-10-11 9:15 ` Jon Hunter
[not found] ` <fd7c8f40-2a9f-b71c-bd11-43ee657441ae-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-11-03 14:20 ` Jon Hunter
2016-11-16 10:48 ` Jon Hunter
[not found] ` <d961715d-820a-dd63-e3a9-c908ce465582-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-11-16 12:53 ` Rafael J. Wysocki
2016-11-22 11:12 ` Jon Hunter
[not found] ` <d9a4c1cd-6682-663d-e30d-cc85f665cf64-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
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
[not found] ` <20161124023014.GK6095-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-11-29 11:33 ` Marek Szyprowski
[not found] ` <52af1977-8ca3-40d1-43bb-920c5b933f94-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-12-15 11:38 ` Jon Hunter
2016-11-22 21:55 ` Rafael J. Wysocki
[not found] ` <CAJZ5v0gUO8TqxbyLh37mfvoTLY1y1Uj91i9T6zcx5A9SmmcReA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-23 9:29 ` Jon Hunter
[not found] ` <82802459-8292-efb7-ac23-733de8687d51-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-11-23 13:15 ` Rafael J. Wysocki
2017-02-28 15:18 ` Jon Hunter
2017-02-28 15:29 ` Geert Uytterhoeven
[not found] ` <CAMuHMdUAN+PHr_GSvyMzA8N6LgzPEXhQyG_rSwFUOvc9_v7JiA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-13 9:37 ` Jon Hunter
[not found] ` <f4b3a93e-e29f-6fc6-6e7f-8c51081cbe15-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2017-03-13 11:45 ` Ulf Hansson
[not found] ` <CAPDyKFp20tDickB9mF1ZSRUvYBEsfATysENeMzGV9O8KXH2wig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-13 14:09 ` Jon Hunter
2017-03-13 14:19 ` Geert Uytterhoeven
2017-03-13 14:27 ` Jon Hunter
[not found] ` <161ee6b9-7a76-c7b4-3cb4-06259fef4898-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2017-03-13 14:38 ` Geert Uytterhoeven
2017-03-13 14:51 ` Jon Hunter
[not found] ` <3e88692d-613b-9c25-2554-7d399c45637a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2017-03-13 14:42 ` Ulf Hansson
[not found] ` <CAPDyKFp6wWZghMuCV5iL=zA=u+m22ibtzB95ktzOPJjfRLi1eg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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=5819AA42.5060603@codeaurora.org \
--to=rnayak@codeaurora.org \
--cc=jonathanh@nvidia.com \
--cc=khilman@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@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;
as well as URLs for NNTP newsgroup(s).