Ramkumar Ramachandra | a3ea015 | 2014-01-05 15:51:14 +0530 | [diff] [blame] | 1 | Intel P-state driver |
| 2 | -------------------- |
| 3 | |
| 4 | This driver implements a scaling driver with an internal governor for |
| 5 | Intel Core processors. The driver follows the same model as the |
| 6 | Transmeta scaling driver (longrun.c) and implements the setpolicy() |
| 7 | instead of target(). Scaling drivers that implement setpolicy() are |
| 8 | assumed to implement internal governors by the cpufreq core. All the |
| 9 | logic for selecting the current P state is contained within the |
| 10 | driver; no external governor is used by the cpufreq core. |
| 11 | |
| 12 | Intel SandyBridge+ processors are supported. |
| 13 | |
| 14 | New sysfs files for controlling P state selection have been added to |
| 15 | /sys/devices/system/cpu/intel_pstate/ |
| 16 | |
| 17 | max_perf_pct: limits the maximum P state that will be requested by |
| 18 | the driver stated as a percentage of the available performance. |
| 19 | |
| 20 | min_perf_pct: limits the minimum P state that will be requested by |
| 21 | the driver stated as a percentage of the available performance. |
| 22 | |
| 23 | no_turbo: limits the driver to selecting P states below the turbo |
| 24 | frequency range. |
| 25 | |
| 26 | For contemporary Intel processors, the frequency is controlled by the |
| 27 | processor itself and the P-states exposed to software are related to |
| 28 | performance levels. The idea that frequency can be set to a single |
| 29 | frequency is fiction for Intel Core processors. Even if the scaling |
| 30 | driver selects a single P state the actual frequency the processor |
| 31 | will run at is selected by the processor itself. |
| 32 | |
| 33 | New debugfs files have also been added to /sys/kernel/debug/pstate_snb/ |
| 34 | |
| 35 | deadband |
| 36 | d_gain_pct |
| 37 | i_gain_pct |
| 38 | p_gain_pct |
| 39 | sample_rate_ms |
| 40 | setpoint |