Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51c4c4ce authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge back earlier 'pm-cpufreq' material.

parents 6cbd7ee1 22c73795
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -200,3 +200,27 @@ Description: address and size of the percpu note.
		note of cpu#.

		crash_notes_size: size of the note of cpu#.


What:		/sys/devices/system/cpu/intel_pstate/max_perf_pct
		/sys/devices/system/cpu/intel_pstate/min_perf_pct
		/sys/devices/system/cpu/intel_pstate/no_turbo
Date:		February 2013
Contact:	linux-pm@vger.kernel.org
Description:	Parameters for the Intel P-state driver

		Logic for selecting the current P-state in Intel
		Sandybridge+ processors. The three knobs control
		limits for the P-state that will be requested by the
		driver.

		max_perf_pct: limits the maximum P state that will be requested by
		the driver stated as a percentage of the available performance.

		min_perf_pct: limits the minimum P state that will be requested by
		the driver stated as a percentage of the available performance.

		no_turbo: limits the driver to selecting P states below the turbo
		frequency range.

		More details can be found in Documentation/cpu-freq/intel-pstate.txt
+40 −0
Original line number Diff line number Diff line
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
/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.

      min_perf_pct: limits the minimum P state that will be  requested by
      the driver stated as a percentage of the available performance.

      no_turbo: limits the driver to selecting P states below the turbo
      frequency range.

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.

New debugfs files have also been added to /sys/kernel/debug/pstate_snb/

      deadband
      d_gain_pct
      i_gain_pct
      p_gain_pct
      sample_rate_ms
      setpoint
+5 −0
Original line number Diff line number Diff line
@@ -303,6 +303,11 @@ void __init exynos_cpuidle_init(void)
	platform_device_register(&exynos_cpuidle);
}

void __init exynos_cpufreq_init(void)
{
	platform_device_register_simple("exynos-cpufreq", -1, NULL, 0);
}

void __init exynos_init_late(void)
{
	if (of_machine_is_compatible("samsung,exynos5440"))
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ void exynos_init_io(void);
void exynos4_restart(enum reboot_mode mode, const char *cmd);
void exynos5_restart(enum reboot_mode mode, const char *cmd);
void exynos_cpuidle_init(void);
void exynos_cpufreq_init(void);
void exynos_init_late(void);

void exynos_firmware_init(void);
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
static void __init exynos4_dt_machine_init(void)
{
	exynos_cpuidle_init();
	exynos_cpufreq_init();

	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
Loading