[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGETcx8OBFGgP1-hj717Sk-_N95-kacVsz0yb288n3pej12n1Q@mail.gmail.com>
Date: Mon, 29 Jul 2019 13:16:19 -0700
From: Saravana Kannan <saravanak@...gle.com>
To: Viresh Kumar <viresh.kumar@...aro.org>
Cc: Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
Stephen Boyd <sboyd@...nel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Georgi Djakov <georgi.djakov@...aro.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
"Sweeney, Sean" <seansw@....qualcomm.com>,
David Dai <daidavid1@...eaurora.org>, adharmap@...eaurora.org,
Rajendra Nayak <rnayak@...eaurora.org>,
Sibi Sankar <sibis@...eaurora.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Evan Green <evgreen@...omium.org>,
Android Kernel Team <kernel-team@...roid.com>,
Linux PM <linux-pm@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 0/3] Introduce Bandwidth OPPs for interconnects
On Mon, Jul 29, 2019 at 2:35 AM Viresh Kumar <viresh.kumar@...aro.org> wrote:
>
> On 26-07-19, 16:15, Saravana Kannan wrote:
> > Interconnects and interconnect paths quantify their performance levels in
> > terms of bandwidth and not in terms of frequency. So similar to how we have
> > frequency based OPP tables in DT and in the OPP framework, we need
> > bandwidth OPP table support in DT and in the OPP framework.
> >
> > So with the DT bindings added in this patch series, the DT for a GPU
> > that does bandwidth voting from GPU to Cache and GPU to DDR would look
> > something like this:
> >
> > gpu_cache_opp_table: gpu_cache_opp_table {
> > compatible = "operating-points-v2";
> >
> > gpu_cache_3000: opp-3000 {
> > opp-peak-KBps = <3000000>;
> > opp-avg-KBps = <1000000>;
> > };
> > gpu_cache_6000: opp-6000 {
> > opp-peak-KBps = <6000000>;
> > opp-avg-KBps = <2000000>;
> > };
> > gpu_cache_9000: opp-9000 {
> > opp-peak-KBps = <9000000>;
> > opp-avg-KBps = <9000000>;
> > };
> > };
> >
> > gpu_ddr_opp_table: gpu_ddr_opp_table {
> > compatible = "operating-points-v2";
> >
> > gpu_ddr_1525: opp-1525 {
> > opp-peak-KBps = <1525000>;
> > opp-avg-KBps = <452000>;
> > };
> > gpu_ddr_3051: opp-3051 {
> > opp-peak-KBps = <3051000>;
> > opp-avg-KBps = <915000>;
> > };
> > gpu_ddr_7500: opp-7500 {
> > opp-peak-KBps = <7500000>;
> > opp-avg-KBps = <3000000>;
> > };
> > };
> >
> > gpu_opp_table: gpu_opp_table {
> > compatible = "operating-points-v2";
> > opp-shared;
> >
> > opp-200000000 {
> > opp-hz = /bits/ 64 <200000000>;
> > };
> > opp-400000000 {
> > opp-hz = /bits/ 64 <400000000>;
> > };
> > };
> >
> > gpu@...4000 {
> > ...
> > operating-points-v2 = <&gpu_opp_table>, <&gpu_cache_opp_table>, <&gpu_ddr_opp_table>;
> > ...
> > };
>
> One feedback I missed giving earlier. Will it be possible to get some
> user code merged along with this ? I want to make sure anything we add
> ends up getting used.
Sibi might be working on doing that for the SDM845 CPUfreq driver.
Georgi could also change his GPU driver use case to use this BW OPP
table and required-opps.
The problem is that people don't want to start using this until we
decide on the DT representation. So it's like a chicken and egg
situation.
-Saravana
Powered by blists - more mailing lists