From: Viresh Kumar <viresh.kumar@linaro.org> To: Rob Herring <robherring2@gmail.com> Cc: "Rafael J. Wysocki" <rjw@sisk.pl>, nicolas.pitre@linaro.org, robin.randhawa@arm.com, linux@arm.linux.org.uk, mark.hambleton@broadcom.com, linux-pm@vger.kernel.org, Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>, devicetree-discuss@lists.ozlabs.org, Liviu.Dudau@arm.com, linux-kernel@vger.kernel.org, cpufreq@vger.kernel.org, linaro-kernel@lists.linaro.org, Steve.Bannister@arm.com, arvind.chauhan@arm.com, linux-arm-kernel@lists.infradead.org, charles.garcia-tobin@arm.com, Mark Langsdorf <mark.langsdorf@calxeda.com>, Shawn Guo <shawn.guo@linaro.org> Subject: Re: [PATCH V2] cpufreq: ARM big LITTLE: Add generic cpufreq driver and its DT glue Date: Tue, 26 Mar 2013 20:00:55 +0530 [thread overview] Message-ID: <CAKohpomRYXaKPoMX-3+SknSQsWiP_sMndPb4WsnLaw0Pa0k2xQ@mail.gmail.com> (raw) In-Reply-To: <51519FD3.5000402@gmail.com> On 26 March 2013 18:47, Rob Herring <robherring2@gmail.com> wrote: > On 03/26/2013 04:51 AM, Viresh Kumar wrote: > I fail to see anything bL specific here. This is just multi-cluster, but > even for that I don't see anything new other than simply allowing per > cpu or per cluster opp's. The fact that we have one opp for a cluster is > simply an implementation decision in CortexA cores. For now it is a very simple driver and yes probably multi-cluster only. It will be updated with In Kernel Switcher support as soon as Linaro makes a decision to opensource that (likely to happen soon). Yes, there can be implementations, like krait, which can have per cpu control of opp, but we will wait for any such platform before making this driver complex. >> +NOTE: Cpus should boot in the order specified in DT and all cpus for a cluster >> +must be present contiguously. Generic DT driver will check only node 'x' for >> +cpu:x. > > The OS cannot necessarily control the order. The OS should be able to > boot on which ever core comes up first. This should be a FIXME instead (will update it). I am waiting for final DT bindings from ARM guys before this can be written on stone. For now this is the limitation and it should go away as soon as DT bindings are finalized. >> +Optional properties: >> +- clock-latency: Specify the possible maximum transition latency for clock, >> + in unit of nanoseconds. > > Don't we already have "transition-latency" defined? No, its clock-latency. $ git grep "clock-latency" Documentation/devicetree/bindings/ Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt:- clock-latency: Specify the possible maximum transition latency for clock, Documentation/devicetree/bindings/cpufreq/cpufreq-spear.txt:- clock-latency: Specify the possible maximum transition latency for clock, in Though transition-latency is mentioned by the example of cpufreq-cpu0. I will fix it. > Don't create > something new. Ideally, this should have had "-ns" appended, but the > binding is already defined. I had the same intention. >> diff --git a/drivers/cpufreq/arm_big_little.c b/drivers/cpufreq/arm_big_little.c > What is specific to bL? This looks like just a multi-cluster cpufreq > driver and should be generalized to that. Also, why can't the existing > cpufreq-cpu0 driver be extended to support this? With IKS code in, it will be a complete big LITTLE driver. >> +/* Currently we support only two clusters */ >> +#define MAX_CLUSTERS 2 > > Why? Because that is what the define is or there are other limitations? > Seems like this could and should be dynamically discovered with DT. To keep it simple, as for now as all early systems (atleast which are announced) have dual cluster systems only. We will update it once we have some real systems breaking this law. -- viresh
WARNING: multiple messages have this Message-ID (diff)
From: viresh.kumar@linaro.org (Viresh Kumar) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH V2] cpufreq: ARM big LITTLE: Add generic cpufreq driver and its DT glue Date: Tue, 26 Mar 2013 20:00:55 +0530 [thread overview] Message-ID: <CAKohpomRYXaKPoMX-3+SknSQsWiP_sMndPb4WsnLaw0Pa0k2xQ@mail.gmail.com> (raw) In-Reply-To: <51519FD3.5000402@gmail.com> On 26 March 2013 18:47, Rob Herring <robherring2@gmail.com> wrote: > On 03/26/2013 04:51 AM, Viresh Kumar wrote: > I fail to see anything bL specific here. This is just multi-cluster, but > even for that I don't see anything new other than simply allowing per > cpu or per cluster opp's. The fact that we have one opp for a cluster is > simply an implementation decision in CortexA cores. For now it is a very simple driver and yes probably multi-cluster only. It will be updated with In Kernel Switcher support as soon as Linaro makes a decision to opensource that (likely to happen soon). Yes, there can be implementations, like krait, which can have per cpu control of opp, but we will wait for any such platform before making this driver complex. >> +NOTE: Cpus should boot in the order specified in DT and all cpus for a cluster >> +must be present contiguously. Generic DT driver will check only node 'x' for >> +cpu:x. > > The OS cannot necessarily control the order. The OS should be able to > boot on which ever core comes up first. This should be a FIXME instead (will update it). I am waiting for final DT bindings from ARM guys before this can be written on stone. For now this is the limitation and it should go away as soon as DT bindings are finalized. >> +Optional properties: >> +- clock-latency: Specify the possible maximum transition latency for clock, >> + in unit of nanoseconds. > > Don't we already have "transition-latency" defined? No, its clock-latency. $ git grep "clock-latency" Documentation/devicetree/bindings/ Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt:- clock-latency: Specify the possible maximum transition latency for clock, Documentation/devicetree/bindings/cpufreq/cpufreq-spear.txt:- clock-latency: Specify the possible maximum transition latency for clock, in Though transition-latency is mentioned by the example of cpufreq-cpu0. I will fix it. > Don't create > something new. Ideally, this should have had "-ns" appended, but the > binding is already defined. I had the same intention. >> diff --git a/drivers/cpufreq/arm_big_little.c b/drivers/cpufreq/arm_big_little.c > What is specific to bL? This looks like just a multi-cluster cpufreq > driver and should be generalized to that. Also, why can't the existing > cpufreq-cpu0 driver be extended to support this? With IKS code in, it will be a complete big LITTLE driver. >> +/* Currently we support only two clusters */ >> +#define MAX_CLUSTERS 2 > > Why? Because that is what the define is or there are other limitations? > Seems like this could and should be dynamically discovered with DT. To keep it simple, as for now as all early systems (atleast which are announced) have dual cluster systems only. We will update it once we have some real systems breaking this law. -- viresh
next prev parent reply other threads:[~2013-03-26 14:30 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-03-26 9:51 [PATCH V2] cpufreq: ARM big LITTLE: Add generic cpufreq driver and its DT glue Viresh Kumar 2013-03-26 9:51 ` Viresh Kumar 2013-03-26 13:17 ` Rob Herring 2013-03-26 13:17 ` Rob Herring 2013-03-26 14:30 ` Viresh Kumar [this message] 2013-03-26 14:30 ` Viresh Kumar 2013-04-13 20:13 ` Francesco Lavra 2013-04-13 20:13 ` Francesco Lavra 2013-04-15 7:02 ` Viresh Kumar 2013-04-15 7:02 ` Viresh Kumar -- strict thread matches above, loose matches on Subject: below -- 2013-03-07 17:14 Viresh Kumar 2013-03-07 17:14 ` Viresh Kumar 2013-03-07 21:56 ` Guennadi Liakhovetski 2013-03-07 21:56 ` Guennadi Liakhovetski 2013-03-08 4:20 ` Viresh Kumar 2013-03-08 4:20 ` Viresh Kumar 2013-03-08 6:11 ` Guennadi Liakhovetski 2013-03-08 6:11 ` Guennadi Liakhovetski 2013-03-09 3:06 ` Viresh Kumar 2013-03-09 3:06 ` Viresh Kumar 2013-03-10 15:58 ` Francesco Lavra 2013-03-10 15:58 ` Francesco Lavra 2013-03-11 0:57 ` Viresh Kumar 2013-03-11 0:57 ` Viresh Kumar 2013-03-11 0:57 ` Viresh Kumar 2013-03-21 23:50 ` Rafael J. Wysocki 2013-03-21 23:50 ` Rafael J. Wysocki 2013-03-22 2:21 ` Viresh Kumar 2013-03-22 2:21 ` Viresh Kumar
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=CAKohpomRYXaKPoMX-3+SknSQsWiP_sMndPb4WsnLaw0Pa0k2xQ@mail.gmail.com \ --to=viresh.kumar@linaro.org \ --cc=Liviu.Dudau@arm.com \ --cc=Steve.Bannister@arm.com \ --cc=arvind.chauhan@arm.com \ --cc=charles.garcia-tobin@arm.com \ --cc=cpufreq@vger.kernel.org \ --cc=devicetree-discuss@lists.ozlabs.org \ --cc=linaro-kernel@lists.linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=mark.hambleton@broadcom.com \ --cc=mark.langsdorf@calxeda.com \ --cc=nicolas.pitre@linaro.org \ --cc=rjw@sisk.pl \ --cc=robherring2@gmail.com \ --cc=robin.randhawa@arm.com \ --cc=shawn.guo@linaro.org \ --cc=sudeep.karkadanagesha@arm.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.