Re: [PATCH] cpufreq: exynos: Broadcast frequency change notifications for all cores

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday, November 21, 2012 02:52:26 PM Tomasz Figa wrote:
> On Tuesday 13 of November 2012 10:26:12 Tomasz Figa wrote:
> > On Exynos SoCs all cores share the same frequency setting, so changing
> > frequency of one core will affect rest of cores.
> > 
> > This patch modifies the exynos-cpufreq driver to inform cpufreq core
> > about this behavior and broadcast frequency change notifications for all
> > cores.
> > 
> > Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx>
> > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> > ---
> >  drivers/cpufreq/exynos-cpufreq.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/cpufreq/exynos-cpufreq.c
> > b/drivers/cpufreq/exynos-cpufreq.c index af2d81e..c0d54a8 100644
> > --- a/drivers/cpufreq/exynos-cpufreq.c
> > +++ b/drivers/cpufreq/exynos-cpufreq.c
> > @@ -100,7 +100,8 @@ static int exynos_target(struct cpufreq_policy
> > *policy, }
> >  	arm_volt = volt_table[index];
> > 
> > -	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
> > +	for_each_cpu(freqs.cpu, policy->cpus)
> > +		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
> > 
> >  	/* When the new frequency is higher than current frequency */
> >  	if ((freqs.new > freqs.old) && !safe_arm_volt) {
> > @@ -115,7 +116,8 @@ static int exynos_target(struct cpufreq_policy
> > *policy, if (freqs.new != freqs.old)
> >  		exynos_info->set_freq(old_index, index);
> > 
> > -	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
> > +	for_each_cpu(freqs.cpu, policy->cpus)
> > +		cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
> > 
> >  	/* When the new frequency is lower than current frequency */
> >  	if ((freqs.new < freqs.old) ||
> > @@ -235,6 +237,7 @@ static int exynos_cpufreq_cpu_init(struct
> > cpufreq_policy *policy) cpumask_copy(policy->related_cpus,
> > cpu_possible_mask);
> >  		cpumask_copy(policy->cpus, cpu_online_mask);
> >  	} else {
> > +		policy->shared_type = CPUFREQ_SHARED_TYPE_ANY;
> >  		cpumask_setall(policy->cpus);
> >  	}
> 
> Ping.

Am I supposed to handle this?

Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux