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

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

Merge branch 'pm-cpufreq'

* pm-cpufreq: (38 commits)
  cpufreq: CPPC: Use transition_delay_us depending transition_latency
  cpufreq: tegra186: Don't validate the frequency table twice
  cpufreq: speedstep: Don't validate the frequency table twice
  cpufreq: sparc: Don't validate the frequency table twice
  cpufreq: sh: Don't validate the frequency table twice
  cpufreq: sfi: Don't validate the frequency table twice
  cpufreq: scpi: Don't validate the frequency table twice
  cpufreq: sc520: Don't validate the frequency table twice
  cpufreq: s3c24xx: Don't validate the frequency table twice
  cpufreq: qoirq: Don't validate the frequency table twice
  cpufreq: pxa: Don't validate the frequency table twice
  cpufreq: ppc_cbe: Don't validate the frequency table twice
  cpufreq: powernow: Don't validate the frequency table twice
  cpufreq: p4-clockmod: Don't validate the frequency table twice
  cpufreq: mediatek: Don't validate the frequency table twice
  cpufreq: longhaul: Don't validate the frequency table twice
  cpufreq: ia64-acpi: Don't validate the frequency table twice
  cpufreq: elanfreq: Don't validate the frequency table twice
  cpufreq: e_powersaver: Don't validate the frequency table twice
  cpufreq: cpufreq-dt: Don't validate the frequency table twice
  ...
parents e3a495c4 3d41386d
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -18,8 +18,6 @@ Optional properties:
  in unit of nanoseconds.
- voltage-tolerance: Specify the CPU voltage tolerance in percentage.
- #cooling-cells:
- cooling-min-level:
- cooling-max-level:
     Please refer to Documentation/devicetree/bindings/thermal/thermal.txt.

Examples:
@@ -40,8 +38,6 @@ cpus {
		>;
		clock-latency = <61036>; /* two CLK32 periods */
		#cooling-cells = <2>;
		cooling-min-level = <0>;
		cooling-max-level = <2>;
	};

	cpu@1 {
+0 −4
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@ Optional properties:
	       flow is handled by hardware, hence no software "voltage tracking" is
	       needed.
- #cooling-cells:
- cooling-min-level:
- cooling-max-level:
	Please refer to Documentation/devicetree/bindings/thermal/thermal.txt
	for detail.

@@ -67,8 +65,6 @@ Example 1 (MT7623 SoC):
		clock-names = "cpu", "intermediate";
		operating-points-v2 = <&cpu_opp_table>;
		#cooling-cells = <2>;
		cooling-min-level = <0>;
		cooling-max-level = <7>;
	};
	cpu@1 {
		device_type = "cpu";
+0 −2
Original line number Diff line number Diff line
@@ -87,8 +87,6 @@
			clock-names = "cpu", "intermediate";
			operating-points-v2 = <&cpu_opp_table>;
			#cooling-cells = <2>;
			cooling-min-level = <0>;
			cooling-max-level = <7>;
			clock-frequency = <1300000000>;
		};

+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ config ARM_DT_BL_CPUFREQ
config ARM_SCPI_CPUFREQ
	tristate "SCPI based CPUfreq driver"
	depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
	depends on !CPU_THERMAL || THERMAL
	help
	  This adds the CPUfreq driver support for ARM platforms using SCPI
	  protocol for CPU power management.
+11 −9
Original line number Diff line number Diff line
@@ -794,15 +794,9 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
		valid_states++;
	}
	freq_table[valid_states].frequency = CPUFREQ_TABLE_END;
	policy->freq_table = freq_table;
	perf->state = 0;

	result = cpufreq_table_validate_and_show(policy, freq_table);
	if (result)
		goto err_freqfree;

	if (perf->states[0].core_frequency * 1000 != policy->cpuinfo.max_freq)
		pr_warn(FW_WARN "P-state 0 is not max freq\n");

	switch (perf->control_register.space_id) {
	case ACPI_ADR_SPACE_SYSTEM_IO:
		/*
@@ -842,8 +836,6 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)

	return result;

err_freqfree:
	kfree(freq_table);
err_unreg:
	acpi_processor_unregister_performance(cpu);
err_free_mask:
@@ -871,6 +863,15 @@ static int acpi_cpufreq_cpu_exit(struct cpufreq_policy *policy)
	return 0;
}

static void acpi_cpufreq_cpu_ready(struct cpufreq_policy *policy)
{
	struct acpi_processor_performance *perf = per_cpu_ptr(acpi_perf_data,
							      policy->cpu);

	if (perf->states[0].core_frequency * 1000 != policy->cpuinfo.max_freq)
		pr_warn(FW_WARN "P-state 0 is not max freq\n");
}

static int acpi_cpufreq_resume(struct cpufreq_policy *policy)
{
	struct acpi_cpufreq_data *data = policy->driver_data;
@@ -898,6 +899,7 @@ static struct cpufreq_driver acpi_cpufreq_driver = {
	.bios_limit	= acpi_processor_get_bios_limit,
	.init		= acpi_cpufreq_cpu_init,
	.exit		= acpi_cpufreq_cpu_exit,
	.ready		= acpi_cpufreq_cpu_ready,
	.resume		= acpi_cpufreq_resume,
	.name		= "acpi-cpufreq",
	.attr		= acpi_cpufreq_attr,
Loading