| Intel P-state driver | 
 | -------------------- | 
 |  | 
 | This driver provides an interface to control the P state selection for | 
 | SandyBridge+ Intel processors.  The driver can operate two different | 
 | modes based on the processor model, legacy mode and Hardware P state (HWP) | 
 | mode. | 
 |  | 
 | In legacy mode, the Intel P-state implements two internal governors, | 
 | performance and powersave, that differ from the general cpufreq governors of | 
 | the same name (the general cpufreq governors implement target(), whereas the | 
 | internal Intel P-state governors implement setpolicy()).  The internal | 
 | performance governor sets the max_perf_pct and min_perf_pct to 100; that is, | 
 | the governor selects the highest available P state to maximize the performance | 
 | of the core.  The internal powersave governor selects the appropriate P state | 
 | based on the current load on the CPU. | 
 |  | 
 | In HWP mode P state selection is implemented in the processor | 
 | itself. The driver provides the interfaces between the cpufreq core and | 
 | the processor to control P state selection based on user preferences | 
 | and reporting frequency to the cpufreq core.  In this mode the | 
 | internal Intel P-state governor code is disabled. | 
 |  | 
 | In addition to the interfaces provided by the cpufreq core for | 
 | controlling frequency the driver provides sysfs files for | 
 | controlling P state selection. These files have been added to | 
 | /sys/devices/system/cpu/intel_pstate/ | 
 |  | 
 |       max_perf_pct: limits the maximum P state that will be requested by | 
 |       the driver stated as a percentage of the available performance. The | 
 |       available (P states) performance may be reduced by the no_turbo | 
 |       setting described below. | 
 |  | 
 |       min_perf_pct: limits the minimum P state that will be  requested by | 
 |       the driver stated as a percentage of the max (non-turbo) | 
 |       performance level. | 
 |  | 
 |       no_turbo: limits the driver to selecting P states below the turbo | 
 |       frequency range. | 
 |  | 
 |       turbo_pct: displays the percentage of the total performance that | 
 |       is supported by hardware that is in the turbo range.  This number | 
 |       is independent of whether turbo has been disabled or not. | 
 |  | 
 |       num_pstates: displays the number of pstates that are supported | 
 |       by hardware.  This number is independent of whether turbo has | 
 |       been disabled or not. | 
 |  | 
 | For contemporary Intel processors, the frequency is controlled by the | 
 | processor itself and the P-states exposed to software are related to | 
 | performance levels.  The idea that frequency can be set to a single | 
 | frequency is fiction for Intel Core processors. Even if the scaling | 
 | driver selects a single P state the actual frequency the processor | 
 | will run at is selected by the processor itself. | 
 |  | 
 | For legacy mode debugfs files have also been added to allow tuning of | 
 | the internal governor algorythm. These files are located at | 
 | /sys/kernel/debug/pstate_snb/ These files are NOT present in HWP mode. | 
 |  | 
 |       deadband | 
 |       d_gain_pct | 
 |       i_gain_pct | 
 |       p_gain_pct | 
 |       sample_rate_ms | 
 |       setpoint |