Merge branch 'drm_kms_for_next-v8' of git://git.linaro.org/people/benjamin.gaignard...
[cascardo/linux.git] / Documentation / cpu-freq / intel-pstate.txt
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. The
19       available (P states) performance may be reduced by the no_turbo
20       setting described below.
21
22       min_perf_pct: limits the minimum P state that will be  requested by
23       the driver stated as a percentage of the max (non-turbo)
24       performance level.
25
26       no_turbo: limits the driver to selecting P states below the turbo
27       frequency range.
28
29 For contemporary Intel processors, the frequency is controlled by the
30 processor itself and the P-states exposed to software are related to
31 performance levels.  The idea that frequency can be set to a single
32 frequency is fiction for Intel Core processors. Even if the scaling
33 driver selects a single P state the actual frequency the processor
34 will run at is selected by the processor itself.
35
36 New debugfs files have also been added to /sys/kernel/debug/pstate_snb/
37
38       deadband
39       d_gain_pct
40       i_gain_pct
41       p_gain_pct
42       sample_rate_ms
43       setpoint