cpufreq: Update Documentation for cpus and related_cpus

Documentation related to cpus and related_cpus is confusing and not very clear.
Over that CPUFreq core has seen much changes recently. Lets update documentation
and comments for cpus and related_cpus.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Viresh Kumar 2013-01-31 02:03:53 +00:00 committed by Rafael J. Wysocki
parent 5553f9e26f
commit 951fc5f458
3 changed files with 14 additions and 6 deletions

View file

@ -111,6 +111,12 @@ policy->governor must contain the "default policy" for
For setting some of these values, the frequency table helpers might be For setting some of these values, the frequency table helpers might be
helpful. See the section 2 for more information on them. helpful. See the section 2 for more information on them.
SMP systems normally have same clock source for a group of cpus. For these the
.init() would be called only once for the first online cpu. Here the .init()
routine must initialize policy->cpus with mask of all possible cpus (Online +
Offline) that share the clock. Then the core would copy this mask onto
policy->related_cpus and will reset policy->cpus to carry only online cpus.
1.3 verify 1.3 verify
------------ ------------

View file

@ -190,11 +190,11 @@ scaling_max_freq show the current "policy limits" (in
first set scaling_max_freq, then first set scaling_max_freq, then
scaling_min_freq. scaling_min_freq.
affected_cpus : List of CPUs that require software coordination affected_cpus : List of Online CPUs that require software
of frequency. coordination of frequency.
related_cpus : List of CPUs that need some sort of frequency related_cpus : List of Online + Offline CPUs that need software
coordination, whether software or hardware. coordination of frequency.
scaling_driver : Hardware driver for cpufreq. scaling_driver : Hardware driver for cpufreq.

View file

@ -89,8 +89,10 @@ struct cpufreq_real_policy {
}; };
struct cpufreq_policy { struct cpufreq_policy {
cpumask_var_t cpus; /* CPUs requiring sw coordination */ /* CPUs sharing clock, require sw coordination */
cpumask_var_t related_cpus; /* CPUs with any coordination */ cpumask_var_t cpus; /* Online CPUs only */
cpumask_var_t related_cpus; /* Online + Offline CPUs */
unsigned int shared_type; /* ANY or ALL affected CPUs unsigned int shared_type; /* ANY or ALL affected CPUs
should set cpufreq */ should set cpufreq */
unsigned int cpu; /* cpu nr of CPU managing this policy */ unsigned int cpu; /* cpu nr of CPU managing this policy */