[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170809100651.GA29383@vireshk-i7>
Date: Wed, 9 Aug 2017 15:36:51 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Sudeep Holla <sudeep.holla@....com>
Cc: ALKML <linux-arm-kernel@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>,
DTML <devicetree@...r.kernel.org>,
Roy Franz <roy.franz@...ium.com>,
Harb Abdulhamid <harba@...eaurora.org>,
Nishanth Menon <nm@...com>, Arnd Bergmann <arnd@...db.de>,
Loc Ho <lho@....com>, Alexey Klimov <alexey.klimov@....com>,
Ryan Harkin <Ryan.Harkin@....com>,
Jassi Brar <jassisinghbrar@...il.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>, linux-pm@...r.kernel.org
Subject: Re: [PATCH v2 17/18] cpufreq: add support for CPU DVFS based on SCMI
message protocol
On 09-08-17, 10:59, Sudeep Holla wrote:
> On 09/08/17 05:18, Viresh Kumar wrote:
> > This stores the same handle pointer which is stored in the global variable
> > below. Right? Why keep a local variable here at all ?
>
> Yes, you are right. Initially, started with just private pointers and
> then added global. I was thinking of calling devm_scmi_handle_get per
> policy to reflect the refcount correctly and drop global variable. Let
> me know what you think.
A refcount of 1 should be fine as well, i.e. For the cpufreq driver. Why would
SCMI care if we manage multiple policies here ? Unless it makes something within
SCMI core better.
> > This is something special which is used only when we are returning indexes and
> > I am not sure if this will have benefit here. I will rather return 0 here.
> > That's what other drivers are doing.
>
> Indeed had 0 initially but changed as per Juri's suggestion.
Maybe he suggested doing that in the fast switch routine ? As that's the normal
protocol there. Though I have sent a patch today to propose using 0 there as
well (you cc'd).
> But is 0
> treated as failure and still running at current OPP ?
You have used that in the ->get() routine. So the OPP isn't changing, but we are
just trying to fetch it. cpufreq core doesn't do a lot with the value returned
from here, but at one place we break early if 0 is returned. And so all drivers
are returning that.
> and not 0KHz I assume.
Yeah, 0 KHz is dead CPU really :)
> > I suppose any CPU can change the frequency of any other CPU here, right? You
> > must set policy->dvfs_possible_from_any_cpu = true, from ->init() then.
> >
>
> OK, I missed to see something like that exists, will do.
Fairly recent stuff, present in pm/linux-next only.
> >> + /*
> >> + * But we need OPP table to function so if it is not there let's
> >> + * give platform code chance to provide it for us.
> >> + */
> >
> > How are we getting the OPPs? DT or non DT ?
> >
>
> Non DT :), from the firmware.
I would improve the above comment in that case to clearly say that OPPs are
added by the platform, lets wait for it.
--
viresh
Powered by blists - more mailing lists