1Intel P-state driver 2-------------------- 3 4This driver provides an interface to control the P state selection for 5SandyBridge+ Intel processors. The driver can operate two different 6modes based on the processor model legacy and Hardware P state (HWP) 7mode. 8 9In legacy mode the driver implements a scaling driver with an internal 10governor for Intel Core processors. The driver follows the same model 11as the Transmeta scaling driver (longrun.c) and implements the 12setpolicy() instead of target(). Scaling drivers that implement 13setpolicy() are assumed to implement internal governors by the cpufreq 14core. All the logic for selecting the current P state is contained 15within the driver; no external governor is used by the cpufreq core. 16 17In HWP mode P state selection is implemented in the processor 18itself. The driver provides the interfaces between the cpufreq core and 19the processor to control P state selection based on user preferences 20and reporting frequency to the cpufreq core. In this mode the 21internal governor code is disabled. 22 23In addtion to the interfaces provided by the cpufreq core for 24controlling frequency the driver provides sysfs files for 25controlling P state selection. These files have been added to 26/sys/devices/system/cpu/intel_pstate/ 27 28 max_perf_pct: limits the maximum P state that will be requested by 29 the driver stated as a percentage of the available performance. The 30 available (P states) performance may be reduced by the no_turbo 31 setting described below. 32 33 min_perf_pct: limits the minimum P state that will be requested by 34 the driver stated as a percentage of the max (non-turbo) 35 performance level. 36 37 no_turbo: limits the driver to selecting P states below the turbo 38 frequency range. 39 40 turbo_pct: displays the percentage of the total performance that 41 is supported by hardware that is in the turbo range. This number 42 is independent of whether turbo has been disabled or not. 43 44 num_pstates: displays the number of pstates that are supported 45 by hardware. This number is independent of whether turbo has 46 been disabled or not. 47 48For contemporary Intel processors, the frequency is controlled by the 49processor itself and the P-states exposed to software are related to 50performance levels. The idea that frequency can be set to a single 51frequency is fiction for Intel Core processors. Even if the scaling 52driver selects a single P state the actual frequency the processor 53will run at is selected by the processor itself. 54 55For legacy mode debugfs files have also been added to allow tuning of 56the internal governor algorythm. These files are located at 57/sys/kernel/debug/pstate_snb/ These files are NOT present in HWP mode. 58 59 deadband 60 d_gain_pct 61 i_gain_pct 62 p_gain_pct 63 sample_rate_ms 64 setpoint 65