|author||Rafael J. Wysocki <firstname.lastname@example.org>||2014-12-08 20:00:15 +0100|
|committer||Rafael J. Wysocki <email@example.com>||2014-12-08 20:00:15 +0100|
|parent||Merge branch 'pm-cpuidle' (diff)|
|parent||intel_pstate: skip this driver if Sun server has _PPC method (diff)|
Merge branch 'pm-cpufreq'
* pm-cpufreq: (21 commits) intel_pstate: skip this driver if Sun server has _PPC method cpufreq: arm_big_little: free OPP table created during ->init() imx6q: free OPP table created during ->init() exynos5440: free OPP table created during ->init() cpufreq-dt: free OPP table created during ->init() cpufreq-dt: register cooling device from ->ready() callback cpufreq: Introduce ->ready() callback for cpufreq drivers cpufreq-dt: pass 'policy->related_cpus' to of_cpufreq_cooling_register() cpufreq: Fix formatting issues in 'struct cpufreq_driver' cpufreq: pxa2xx: Add Kconfig entry cpufreq: Ref the policy object sooner cpufreq: Kconfig: Remove architecture specific menu entries cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors intel_pstate: Add CPUID for BDW-H CPU intel_pstate: Add support for HWP x86: Add support for Intel HWP feature detection. cpufreq: respect the min/max settings from user space cpufreq: cpufreq-dt: Handle regulator_get_voltage() failure cpufreq: cpufreq-dt: Improve debug about matching OPP cpufreq: Loongson1: Add cpufreq driver for Loongson1B ...
Diffstat (limited to 'Documentation')
2 files changed, 28 insertions, 12 deletions
diff --git a/Documentation/cpu-freq/intel-pstate.txt b/Documentation/cpu-freq/intel-pstate.txt
index a69ffe1d54d5..765d7fc0e692 100644
@@ -1,17 +1,28 @@
Intel P-state driver
-This driver implements a scaling driver with an internal governor for
-Intel Core processors. The driver follows the same model as the
-Transmeta scaling driver (longrun.c) and implements the setpolicy()
-instead of target(). Scaling drivers that implement setpolicy() are
-assumed to implement internal governors by the cpufreq core. All the
-logic for selecting the current P state is contained within the
-driver; no external governor is used by the cpufreq core.
-Intel SandyBridge+ processors are supported.
-New sysfs files for controlling P state selection have been added to
+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 and Hardware P state (HWP)
+In legacy mode the driver implements a scaling driver with an internal
+governor for Intel Core processors. The driver follows the same model
+as the Transmeta scaling driver (longrun.c) and implements the
+setpolicy() instead of target(). Scaling drivers that implement
+setpolicy() are assumed to implement internal governors by the cpufreq
+core. All the logic for selecting the current P state is contained
+within the driver; no external governor is used by the cpufreq core.
+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 governor code is disabled.
+In addtion 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
max_perf_pct: limits the maximum P state that will be requested by
@@ -33,7 +44,9 @@ 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.
-New debugfs files have also been added to /sys/kernel/debug/pstate_snb/
+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.
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 479f33204a37..5fdf714f40a0 100644
@@ -1446,6 +1446,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
Do not enable intel_pstate as the default
scaling driver for the supported processors
+ Do not enable hardware P state control (HWP)
+ if available.
intremap= [X86-64, Intel-IOMMU]
on enable Interrupt Remapping (default)