Message ID | 1374611079-28091-2-git-send-email-aaro.koskinen@iki.fi (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On 24 July 2013 01:54, Aaro Koskinen <aaro.koskinen@iki.fi> wrote: > The patch also enables to use ondemand governor on the latter. How? I can't see anything obvious here. :( > > Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> > --- > drivers/cpufreq/pmac64-cpufreq.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/cpufreq/pmac64-cpufreq.c b/drivers/cpufreq/pmac64-cpufreq.c > index 674807d..f9e399b 100644 > --- a/drivers/cpufreq/pmac64-cpufreq.c > +++ b/drivers/cpufreq/pmac64-cpufreq.c > @@ -85,7 +85,8 @@ static int (*g5_query_freq)(void); > > static DEFINE_MUTEX(g5_switch_mutex); > > -static unsigned long transition_latency; > +/* A conservative estimate, based on Xserve G5 and iMac G5 (iSight). */ > +static const unsigned long transition_latency = 10 * NSEC_PER_MSEC; > > #ifdef CONFIG_PMAC_SMU > > @@ -499,7 +500,6 @@ static int __init g5_neo2_cpufreq_init(struct device_node *cpus) > g5_cpu_freqs[1].frequency = max_freq/2; > > /* Set callbacks */ > - transition_latency = 12000; > g5_switch_freq = g5_scom_switch_freq; > g5_query_freq = g5_scom_query_freq; > freq_method = "SCOM"; > @@ -675,7 +675,6 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpus) > g5_cpu_freqs[1].frequency = min_freq; > > /* Set callbacks */ > - transition_latency = CPUFREQ_ETERNAL; > g5_switch_volt = g5_pfunc_switch_volt; > g5_switch_freq = g5_pfunc_switch_freq; > g5_query_freq = g5_pfunc_query_freq; > -- > 1.8.3.2 >
Hi, On Wed, Jul 24, 2013 at 11:04:50AM +0530, Viresh Kumar wrote: > On 24 July 2013 01:54, Aaro Koskinen <aaro.koskinen@iki.fi> wrote: > > The patch also enables to use ondemand governor on the latter. > > How? I can't see anything obvious here. :( It replaces CPUFREQ_ETERNAL with a proper value on older PowerMacs. ondemand does not accept CPUFREQ_ETERNAL transition latency. A. > > > > > Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> > > --- > > drivers/cpufreq/pmac64-cpufreq.c | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/cpufreq/pmac64-cpufreq.c b/drivers/cpufreq/pmac64-cpufreq.c > > index 674807d..f9e399b 100644 > > --- a/drivers/cpufreq/pmac64-cpufreq.c > > +++ b/drivers/cpufreq/pmac64-cpufreq.c > > @@ -85,7 +85,8 @@ static int (*g5_query_freq)(void); > > > > static DEFINE_MUTEX(g5_switch_mutex); > > > > -static unsigned long transition_latency; > > +/* A conservative estimate, based on Xserve G5 and iMac G5 (iSight). */ > > +static const unsigned long transition_latency = 10 * NSEC_PER_MSEC; > > > > #ifdef CONFIG_PMAC_SMU > > > > @@ -499,7 +500,6 @@ static int __init g5_neo2_cpufreq_init(struct device_node *cpus) > > g5_cpu_freqs[1].frequency = max_freq/2; > > > > /* Set callbacks */ > > - transition_latency = 12000; > > g5_switch_freq = g5_scom_switch_freq; > > g5_query_freq = g5_scom_query_freq; > > freq_method = "SCOM"; > > @@ -675,7 +675,6 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpus) > > g5_cpu_freqs[1].frequency = min_freq; > > > > /* Set callbacks */ > > - transition_latency = CPUFREQ_ETERNAL; > > g5_switch_volt = g5_pfunc_switch_volt; > > g5_switch_freq = g5_pfunc_switch_freq; > > g5_query_freq = g5_pfunc_query_freq; > > -- > > 1.8.3.2 > >
On 24 July 2013 15:48, Aaro Koskinen <aaro.koskinen@iki.fi> wrote: > Hi, > > On Wed, Jul 24, 2013 at 11:04:50AM +0530, Viresh Kumar wrote: >> On 24 July 2013 01:54, Aaro Koskinen <aaro.koskinen@iki.fi> wrote: >> > The patch also enables to use ondemand governor on the latter. >> >> How? I can't see anything obvious here. :( > > It replaces CPUFREQ_ETERNAL with a proper value on older PowerMacs. > ondemand does not accept CPUFREQ_ETERNAL transition latency. Ahh.. In case you are sending it again, just add this info in log as people might miss it.
diff --git a/drivers/cpufreq/pmac64-cpufreq.c b/drivers/cpufreq/pmac64-cpufreq.c index 674807d..f9e399b 100644 --- a/drivers/cpufreq/pmac64-cpufreq.c +++ b/drivers/cpufreq/pmac64-cpufreq.c @@ -85,7 +85,8 @@ static int (*g5_query_freq)(void); static DEFINE_MUTEX(g5_switch_mutex); -static unsigned long transition_latency; +/* A conservative estimate, based on Xserve G5 and iMac G5 (iSight). */ +static const unsigned long transition_latency = 10 * NSEC_PER_MSEC; #ifdef CONFIG_PMAC_SMU @@ -499,7 +500,6 @@ static int __init g5_neo2_cpufreq_init(struct device_node *cpus) g5_cpu_freqs[1].frequency = max_freq/2; /* Set callbacks */ - transition_latency = 12000; g5_switch_freq = g5_scom_switch_freq; g5_query_freq = g5_scom_query_freq; freq_method = "SCOM"; @@ -675,7 +675,6 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpus) g5_cpu_freqs[1].frequency = min_freq; /* Set callbacks */ - transition_latency = CPUFREQ_ETERNAL; g5_switch_volt = g5_pfunc_switch_volt; g5_switch_freq = g5_pfunc_switch_freq; g5_query_freq = g5_pfunc_query_freq;
The latency is in milliseconds scale rather than microseconds based on measurements on iMac G5 and Xscale G5. The patch also enables to use ondemand governor on the latter. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> --- drivers/cpufreq/pmac64-cpufreq.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)