From: Mark Brown <broonie@opensource.wolfsonmicro.com> To: Shawn Guo <shawn.guo@linaro.org> Cc: "Rafael J. Wysocki" <rjw@sisk.pl>, Kevin Hilman <khilman@ti.com>, Nishanth Menon <nm@ti.com>, Richard Zhao <richard.zhao@freescale.com>, Russell King - ARM Linux <linux@arm.linux.org.uk>, Mike Turquette <mturquette@linaro.org>, devicetree-discuss@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, cpufreq@vger.kernel.org Subject: Re: [PATCH 3/3] cpufreq: Add a generic cpufreq-cpu0 driver Date: Mon, 30 Jul 2012 19:53:45 +0100 [thread overview] Message-ID: <20120730185344.GT4468@opensource.wolfsonmicro.com> (raw) In-Reply-To: <20120730065218.GB31509@S2101-09.ap.freescale.net> On Mon, Jul 30, 2012 at 02:52:20PM +0800, Shawn Guo wrote: > On Thu, Jul 26, 2012 at 02:11:21PM +0100, Mark Brown wrote: > > This should make it clear that the transition latency being documented > > here is just that for the core clock change itself, there may be other > > sources of latency like the regulator ramp time or reprogramming PLLs. > I intended to make it be the total latency from whatever sources that > should be counted on particular system. Rather than adding complexity > for the driver to figure out these latencies from every single source, > I would expect that people know the possible maximum latency in total > for their systems and specify it in device tree. Quite honestly this seems totally unrealistic for the majority of users, especially given the very poor documentation for this stuff which SoC vendors typically provide. It's a reasonable amount of work to go back and figure this stuff out (especially given that it should be varying depending on the transition in question), and it's going to give us a bunch of magic numbers in people's bindings. > > > + if (cpu_reg && freqs.new > freqs.old) { > > > + if (regulator_set_voltage(cpu_reg, volt - tol, volt + tol)) { > > This is a totally sane and sensible use case for specifying a voltage > > range, we should move it into the regulator core for other users so you > > can just specify the voltage and the tolerance directly. > Are you asking for a change on regulator_set_voltage API? While I agree > with your comment, it's not a thing we need to necessarily do in this > series. The change on the API requires a touch on all the existing > users. I do not think it's nice to carry such a patch in this series. No, add a new API. > > It is a little sad here as it means that we loose the ability to do > > frequency only scaling if there's no regulator which is nice. > I do not understand it. The regulator is optional for the driver, and > we can still scale frequency even if there is no regulator. As soon as a regulator is available your code will insist that we're able to set the voltage specified to set the frequency, and since it's using tolerances not ranges to whatever the chip maximum is that'll mean it'll stop doing frequency scaling at all.
WARNING: multiple messages have this Message-ID (diff)
From: broonie@opensource.wolfsonmicro.com (Mark Brown) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/3] cpufreq: Add a generic cpufreq-cpu0 driver Date: Mon, 30 Jul 2012 19:53:45 +0100 [thread overview] Message-ID: <20120730185344.GT4468@opensource.wolfsonmicro.com> (raw) In-Reply-To: <20120730065218.GB31509@S2101-09.ap.freescale.net> On Mon, Jul 30, 2012 at 02:52:20PM +0800, Shawn Guo wrote: > On Thu, Jul 26, 2012 at 02:11:21PM +0100, Mark Brown wrote: > > This should make it clear that the transition latency being documented > > here is just that for the core clock change itself, there may be other > > sources of latency like the regulator ramp time or reprogramming PLLs. > I intended to make it be the total latency from whatever sources that > should be counted on particular system. Rather than adding complexity > for the driver to figure out these latencies from every single source, > I would expect that people know the possible maximum latency in total > for their systems and specify it in device tree. Quite honestly this seems totally unrealistic for the majority of users, especially given the very poor documentation for this stuff which SoC vendors typically provide. It's a reasonable amount of work to go back and figure this stuff out (especially given that it should be varying depending on the transition in question), and it's going to give us a bunch of magic numbers in people's bindings. > > > + if (cpu_reg && freqs.new > freqs.old) { > > > + if (regulator_set_voltage(cpu_reg, volt - tol, volt + tol)) { > > This is a totally sane and sensible use case for specifying a voltage > > range, we should move it into the regulator core for other users so you > > can just specify the voltage and the tolerance directly. > Are you asking for a change on regulator_set_voltage API? While I agree > with your comment, it's not a thing we need to necessarily do in this > series. The change on the API requires a touch on all the existing > users. I do not think it's nice to carry such a patch in this series. No, add a new API. > > It is a little sad here as it means that we loose the ability to do > > frequency only scaling if there's no regulator which is nice. > I do not understand it. The regulator is optional for the driver, and > we can still scale frequency even if there is no regulator. As soon as a regulator is available your code will insist that we're able to set the voltage specified to set the frequency, and since it's using tolerances not ranges to whatever the chip maximum is that'll mean it'll stop doing frequency scaling at all.
next prev parent reply other threads:[~2012-07-30 18:53 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-07-19 15:54 [PATCH 0/3] Add a generic cpufreq-cpu0 driver Shawn Guo 2012-07-19 15:54 ` Shawn Guo 2012-07-19 15:54 ` [PATCH 1/3] ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp Shawn Guo 2012-07-19 15:54 ` Shawn Guo 2012-07-20 6:36 ` Shilimkar, Santosh 2012-07-20 6:36 ` Shilimkar, Santosh 2012-07-20 7:56 ` Shawn Guo 2012-07-20 7:56 ` Shawn Guo 2012-07-20 8:27 ` Shilimkar, Santosh 2012-07-20 8:27 ` Shilimkar, Santosh 2012-07-19 15:54 ` [PATCH 2/3] PM / OPP: Initialize OPP table from device tree Shawn Guo 2012-07-19 15:54 ` Shawn Guo 2012-07-20 6:00 ` Menon, Nishanth 2012-07-20 6:00 ` Menon, Nishanth 2012-07-20 8:46 ` Shawn Guo 2012-07-20 8:46 ` Shawn Guo 2012-07-20 9:04 ` Menon, Nishanth 2012-07-20 9:04 ` Menon, Nishanth 2012-07-19 15:54 ` [PATCH 3/3] cpufreq: Add a generic cpufreq-cpu0 driver Shawn Guo 2012-07-19 15:54 ` Shawn Guo 2012-07-20 6:52 ` Shilimkar, Santosh 2012-07-20 6:52 ` Shilimkar, Santosh [not found] ` <CAMQu2gw32LogXJJa+K5ZjmCZzBNK3FY2wYwZXU8fsftsVzEO2Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-07-20 12:33 ` Shawn Guo 2012-07-20 12:33 ` Shawn Guo 2012-07-20 15:50 ` Turquette, Mike 2012-07-20 15:50 ` Turquette, Mike 2012-07-21 5:04 ` Shilimkar, Santosh 2012-07-21 5:04 ` Shilimkar, Santosh 2012-07-21 6:38 ` Shawn Guo 2012-07-21 6:38 ` Shawn Guo 2012-07-27 2:04 ` Richard Zhao 2012-07-27 2:04 ` Richard Zhao 2012-07-30 4:57 ` Shawn Guo 2012-07-30 4:57 ` Shawn Guo 2012-07-20 12:51 ` Richard Zhao 2012-07-20 12:51 ` Richard Zhao 2012-07-20 13:15 ` Shawn Guo 2012-07-20 13:15 ` Shawn Guo [not found] ` <1342713281-31114-4-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2012-07-26 13:11 ` Mark Brown 2012-07-26 13:11 ` Mark Brown [not found] ` <20120726131121.GB7306-GFdadSzt00ze9xe1eoZjHA@public.gmane.org> 2012-07-27 2:13 ` Richard Zhao 2012-07-27 2:13 ` Richard Zhao 2012-07-27 10:08 ` Mark Brown 2012-07-27 10:08 ` Mark Brown 2012-07-30 6:52 ` Shawn Guo 2012-07-30 6:52 ` Shawn Guo 2012-07-30 8:20 ` Shawn Guo 2012-07-30 8:20 ` Shawn Guo 2012-07-30 18:55 ` Mark Brown 2012-07-30 18:55 ` Mark Brown 2012-07-30 18:53 ` Mark Brown [this message] 2012-07-30 18:53 ` Mark Brown 2012-07-31 4:20 ` Shawn Guo 2012-07-31 4:20 ` Shawn Guo 2012-07-31 13:40 ` Mark Brown 2012-07-31 13:40 ` Mark Brown 2012-07-27 6:33 ` Richard Zhao 2012-07-27 6:33 ` Richard Zhao 2012-07-30 8:17 ` Shawn Guo 2012-07-30 8:17 ` Shawn Guo 2012-07-30 8:50 ` Richard Zhao 2012-07-30 8:50 ` Richard Zhao 2012-07-30 9:24 ` Shawn Guo 2012-07-30 9:24 ` Shawn Guo 2012-07-19 18:39 ` [PATCH 0/3] " Rafael J. Wysocki 2012-07-19 18:39 ` Rafael J. Wysocki 2012-07-20 0:29 ` Shawn Guo 2012-07-20 0:29 ` Shawn Guo
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=20120730185344.GT4468@opensource.wolfsonmicro.com \ --to=broonie@opensource.wolfsonmicro.com \ --cc=cpufreq@vger.kernel.org \ --cc=devicetree-discuss@lists.ozlabs.org \ --cc=khilman@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=mturquette@linaro.org \ --cc=nm@ti.com \ --cc=richard.zhao@freescale.com \ --cc=rjw@sisk.pl \ --cc=shawn.guo@linaro.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: 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.