linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@kernel.org>
To: Roger Lu <roger.lu@mediatek.com>
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Viresh Kumar <vireshk@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, Nishanth Menon <nm@ti.com>,
	devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
	Kevin Hilman <khilman@kernel.org>,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, Angus.Lin@mediatek.com,
	Andy-YT.Liu@mediatek.com
Subject: Re: [RFC v1 1/3] dt-bindings: soc: add mtk svs dt-bindings
Date: Fri, 03 May 2019 14:08:20 -0700	[thread overview]
Message-ID: <155691770027.200842.16164651681407381397@swboyd.mtv.corp.google.com> (raw)
Message-ID: <20190503210820.icaamyoYpYcgZTorzD6kETbBcRXxCG8sc1MemQHTe58@z> (raw)
In-Reply-To: <1556777971.12123.35.camel@mtksdaap41>

Quoting Roger Lu (2019-05-01 23:19:31)
> On Tue, 2019-04-30 at 13:31 -0700, Stephen Boyd wrote:
> > Quoting Roger Lu (2019-04-30 04:20:10)
> > > diff --git a/Documentation/devicetree/bindings/power/mtk-svs.txt b/Documentation/devicetree/bindings/power/mtk-svs.txt
> > > new file mode 100644
> > > index 000000000000..355329db74ba
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/power/mtk-svs.txt
[..]
> > > +
> > > +               svs_gpu: svs_gpu {
> > > +                       compatible = "mediatek,mt8183-svs-gpu";
> > > +                       power-domains = <&scpsys MT8183_POWER_DOMAIN_MFG_2D>;
> > > +                       operating-points-v2 = <&gpu_opp_table>;
> > > +               };
> > 
> > It looks like you need multiple OPPs for a single device, because it has
> > different independent power supplies it wants to associate the OPP
> > tables with?
> Yes. SVS has different controllers inside the hardware in order to
> calculate and optimize different OPP table voltage part.

So is there more than one SVS register region that needs certain devices
to be powered on or at least have their power domain enabled so that the
SVS hardware can read the voltage and adjust accordingly? I should read
the driver I suppose.

> 
> > Why can't these OPP tables be attached to the devices that
> > use them, i.e. CPU, GPU, CCI, etc.? Seems odd that those devices don't
> > have OPP tables that this hardware block can look up somehow.
> Those OPP tables are attached by our DVFS node (please refers below
> patch). SVS just shares with their OPP table and help optimize these OPP
> tables' voltage part.
> 
> Add cpufreq DTS node to the mt8183 and mt8183-evb
> https://patchwork.kernel.org/patch/10921675/

Cool thanks for the pointer.

> 
> 
> > Similarly,
> > the power domains should probably be part of the devices that are using
> > them and not these sub-nodes that are mirroring the other hardware
> > blocks in the system?
> Oh. There is a svs controller in GPU power-domain. We need to turn on
> GPU power so that svs controller can work functionally. Therefore, we
> add GPU power-domains in our svs_gpu sub-node.
> 
> 

Sorry, I'm not really following what you're saying too closely. I think
I get it but it sounds complicated.

I'm mostly wondering if having properties like svs-gpu = <&gpu_node>,
and svs-cci = <&cci_node> would work for you. The idea would be to link
this hardware block to the nodes that it's going to adjust the OPPs of.
Once you have the node, use some sort of OPP API to get the OPP table
for a device_node and adjust it at runtime for the current OPP. It
sounds like it might be a little more complicated if the hardware goes
haywire when the device like GPU is powered down and the power domain is
shut off. Hopefully it isn't though, so that the driver can mostly sit
on top of the SVS hardware and poke OPP every once and a while when the
voltage needs to change, regardless of the power state of the device.


  parent reply	other threads:[~2019-05-03 21:08 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-30 11:20 PM / AVS: SVS: Introduce SVS engine Roger Lu
2019-04-30 11:20 ` Roger Lu
2019-04-30 11:20 ` [RFC v1 1/3] dt-bindings: soc: add mtk svs dt-bindings Roger Lu
2019-04-30 11:20   ` Roger Lu
2019-04-30 20:31   ` Stephen Boyd
2019-04-30 20:31     ` Stephen Boyd
2019-05-02  6:19     ` Roger Lu
2019-05-02  6:19       ` Roger Lu
2019-05-03 21:08       ` Stephen Boyd [this message]
2019-05-03 21:08         ` Stephen Boyd
2019-05-07  7:50         ` Roger Lu
2019-05-07  7:50           ` Roger Lu
2019-05-07 20:49           ` Stephen Boyd
2019-05-07 20:49             ` Stephen Boyd
2019-05-13  0:34             ` Roger Lu
2019-05-13  0:34               ` Roger Lu
2019-05-02 21:06     ` Rob Herring
2019-05-02 21:06       ` Rob Herring
2019-04-30 11:20 ` [RFC v1 2/3] arm64: dts: mt8183: add svs device information Roger Lu
2019-04-30 11:20   ` Roger Lu
2019-04-30 11:20 ` [RFC v1 3/3] PM / AVS: SVS: Introduce SVS engine Roger Lu
2019-04-30 11:20   ` Roger Lu

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=155691770027.200842.16164651681407381397@swboyd.mtv.corp.google.com \
    --to=sboyd@kernel.org \
    --cc=Andy-YT.Liu@mediatek.com \
    --cc=Angus.Lin@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=nm@ti.com \
    --cc=rjw@rjwysocki.net \
    --cc=robh+dt@kernel.org \
    --cc=roger.lu@mediatek.com \
    --cc=vireshk@kernel.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).