cpufreq: Implement light weight ->target_index() routine
[linux-drm-fsl-dcu.git] / Documentation / cpu-freq / cpu-drivers.txt
index 40282e6179135abc353bc8b04a86137820794468..8b1a4451422e747a2278c0ba48ed4ca58e131ba3 100644 (file)
@@ -23,8 +23,8 @@ Contents:
 1.1  Initialization
 1.2  Per-CPU Initialization
 1.3  verify
-1.4  target or setpolicy?
-1.5  target
+1.4  target/target_index or setpolicy?
+1.5  target/target_index
 1.6  setpolicy
 2.   Frequency Table Helpers
 
@@ -56,7 +56,8 @@ cpufreq_driver.init -         A pointer to the per-CPU initialization
 cpufreq_driver.verify -                A pointer to a "verification" function.
 
 cpufreq_driver.setpolicy _or_ 
-cpufreq_driver.target -                See below on the differences.
+cpufreq_driver.target/
+target_index           -       See below on the differences.
 
 And optionally
 
@@ -66,7 +67,7 @@ cpufreq_driver.resume -               A pointer to a per-CPU resume function
                                which is called with interrupts disabled
                                and _before_ the pre-suspend frequency
                                and/or policy is restored by a call to
-                               ->target or ->setpolicy.
+                               ->target/target_index or ->setpolicy.
 
 cpufreq_driver.attr -          A pointer to a NULL-terminated list of
                                "struct freq_attr" which allow to
@@ -103,8 +104,8 @@ policy->governor            must contain the "default policy" for
                                this CPU. A few moments later,
                                cpufreq_driver.verify and either
                                cpufreq_driver.setpolicy or
-                               cpufreq_driver.target is called with
-                               these values.
+                               cpufreq_driver.target/target_index is called
+                               with these values.
 
 For setting some of these values (cpuinfo.min[max]_freq, policy->min[max]), the
 frequency table helpers might be helpful. See the section 2 for more information
@@ -133,20 +134,28 @@ range) is within policy->min and policy->max. If necessary, increase
 policy->max first, and only if this is no solution, decrease policy->min.
 
 
-1.4 target or setpolicy?
+1.4 target/target_index or setpolicy?
 ----------------------------
 
 Most cpufreq drivers or even most cpu frequency scaling algorithms 
 only allow the CPU to be set to one frequency. For these, you use the
-->target call.
+->target/target_index call.
 
 Some cpufreq-capable processors switch the frequency between certain
 limits on their own. These shall use the ->setpolicy call
 
 
-1.4. target
+1.4. target/target_index
 -------------
 
+The target_index call has two arguments: struct cpufreq_policy *policy,
+and unsigned int index (into the exposed frequency table).
+
+The CPUfreq driver must set the new frequency when called here. The
+actual frequency must be determined by freq_table[index].frequency.
+
+Deprecated:
+----------
 The target call has three arguments: struct cpufreq_policy *policy,
 unsigned int target_frequency, unsigned int relation.