linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: ulf.hansson@linaro.org (Ulf Hansson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] arm64: dts: rockchip: add eMMC's power domain support for rk3399
Date: Fri, 2 Sep 2016 12:24:31 +0200	[thread overview]
Message-ID: <CAPDyKFra7L5iUJegHH43mF4Dw=wYo0PmH2g_96fNL_=oRnGgug@mail.gmail.com> (raw)
In-Reply-To: <CAD=FV=VQ7Gf33fH8=FM_Lj-r9uovoEHxusMrFQrDwf2rxeiecg@mail.gmail.com>

On 1 September 2016 at 23:50, Doug Anderson <dianders@chromium.org> wrote:
> Hi,
>
> On Thu, Sep 1, 2016 at 6:45 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>> I was reading the discussion regarding this change and browsing the DT
>> documentation around this... Can you guys explain what really goes on
>> here, please.
>>
>> To me, it seems like you are managing one device's resources in one
>> separate genpd. One genpd per device. Is that correct?
>>
>> Perhaps each device actually has its own PM domain and thus it makes
>> sense to assign one genpd per device?
>
> I'm not as familiar with genpd as I should be, so hopefully this makes sense.
>
> ...in hardware there is a "pd_emmc" that is the power domain for just
> eMMC.  That will be referenced hooked up via device tree, like:
>
> power-domains = <&power RK3399_PD_EMMC>;

Yes, I noticed that and this is what puzzles me a bit.

>
> I believe that means that power will automatically be removed whenever
> the device is runtime suspended or suspended.

Well, it depends if the genpd has a subdomain or other devices in it
being runtime resumed.
The genpd will not power off unless all devices within it are runtime
enabled+suspended and that its subdomains are also powered off.

So, in case you only have one device and no subdomains, then your
statement is correct.

>
> If w're not supporting "autosuspend" and nobody is tweaking anything

I guess you mean runtime PM autosuspend? Then why don't you support this?

Wouldn't that allow you to avoid wasting power in runtime when the
device is idle?

> manually, then it's possible (I think) that runtime suspend happens at
> exactly the same time as suspend.  ...but my point was that it was

I am not sure I follow you here. You must not rely on that the device
always becomes runtime suspended during system suspend, as there are
no guarantees for this.

Instead that is something you need to take care of in the
subsystem/driver for the device, of course.

> cleaner to actually do it any restoring in the "runtime resume" hooks
> to match what genpd does.  This matches what you say: use runtime PM.

Yes!

Using genpd without deploying runtime PM for the devices doesn't make
much sense, at least to me.

>
> ...but it also sounds like it might not be terribly important to
> restore these values since they're a bit silly to begin with.  If
> that's true then I guess we don't need to do anything special here.
>
>
> Did that all make sense (it's entirely possible it didn't since
> somehow my brain still hasn't absorbed all runtime PM and genpd
> concepts)

No worries. I understand this might be a bit tricky, that's why I also
tries to help review related changes.

Kind regards
Uffe

  reply	other threads:[~2016-09-02 10:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-27 13:41 [PATCH 0/2] Add power domain support for eMMC node on rk3399 Ziyuan Xu
2016-08-27 13:41 ` [PATCH 2/2] arm64: dts: rockchip: add eMMC's power domain support for rk3399 Ziyuan Xu
2016-08-27 15:05   ` Shawn Lin
2016-08-29  1:58     ` Elaine Zhang
2016-08-29  2:50     ` Elaine Zhang
2016-08-29  3:25       ` Shawn Lin
2016-08-31 17:42         ` Doug Anderson
2016-09-01  2:29           ` Ziyuan Xu
2016-09-01  3:23             ` Shawn Lin
2016-09-01 13:45               ` Ulf Hansson
2016-09-01 21:50                 ` Doug Anderson
2016-09-02 10:24                   ` Ulf Hansson [this message]
2016-09-02 14:23                     ` Ziyuan Xu
2016-09-06 12:34                       ` Ulf Hansson
2016-09-01  4:20             ` Doug Anderson
2016-09-01  6:56               ` Ziyuan Xu
2016-09-01 21:29                 ` Doug Anderson
2016-09-02  2:35                   ` Ziyuan Xu
2016-09-02  5:22                     ` Doug Anderson

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='CAPDyKFra7L5iUJegHH43mF4Dw=wYo0PmH2g_96fNL_=oRnGgug@mail.gmail.com' \
    --to=ulf.hansson@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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).