blob: e742d21dbd96bcf3aa2aacd90fe5ef9ad4782810 [file] [log] [blame]
Ramkumar Ramachandraa3ea0152014-01-05 15:51:14 +05301Intel P-state driver
2--------------------
3
4This driver implements a scaling driver with an internal governor for
5Intel Core processors. The driver follows the same model as the
6Transmeta scaling driver (longrun.c) and implements the setpolicy()
7instead of target(). Scaling drivers that implement setpolicy() are
8assumed to implement internal governors by the cpufreq core. All the
9logic for selecting the current P state is contained within the
10driver; no external governor is used by the cpufreq core.
11
12Intel SandyBridge+ processors are supported.
13
14New 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
26For contemporary Intel processors, the frequency is controlled by the
27processor itself and the P-states exposed to software are related to
28performance levels. The idea that frequency can be set to a single
29frequency is fiction for Intel Core processors. Even if the scaling
30driver selects a single P state the actual frequency the processor
31will run at is selected by the processor itself.
32
33New 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