Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 951fc5f4 authored by Viresh Kumar's avatar Viresh Kumar Committed by Rafael J. Wysocki
Browse files

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: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 5553f9e2
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -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
------------
------------
+4 −4
Original line number Original line Diff line number Diff line
@@ -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.


+4 −2
Original line number Original line Diff line number Diff line
@@ -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 */