Skip to content

Commit 30f3490

Browse files
committed
Merge tag 'pm-5.15-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more power management updates from Rafael Wysocki: "These are mostly ARM cpufreq driver updates, including one new MediaTek driver that has just passed all of the reviews, with the addition of a revert of a recent intel_pstate commit, some core cpufreq changes and a DT-related update of the operating performance points (OPP) support code. Specifics: - Add new cpufreq driver for the MediaTek MT6779 platform called mediatek-hw along with corresponding DT bindings (Hector.Yuan). - Add DCVS interrupt support to the qcom-cpufreq-hw driver (Thara Gopinath). - Make the qcom-cpufreq-hw driver set the dvfs_possible_from_any_cpu policy flag (Taniya Das). - Blocklist more Qualcomm platforms in cpufreq-dt-platdev (Bjorn Andersson). - Make the vexpress cpufreq driver set the CPUFREQ_IS_COOLING_DEV flag (Viresh Kumar). - Add new cpufreq driver callback to allow drivers to register with the Energy Model in a consistent way and make several drivers use it (Viresh Kumar). - Change the remaining users of the .ready() cpufreq driver callback to move the code from it elsewhere and drop it from the cpufreq core (Viresh Kumar). - Revert recent intel_pstate change adding HWP guaranteed performance change notification support to it that led to problems, because the notification in question is triggered prematurely on some systems (Rafael Wysocki). - Convert the OPP DT bindings to DT schema and clean them up while at it (Rob Herring)" * tag 'pm-5.15-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (23 commits) Revert "cpufreq: intel_pstate: Process HWP Guaranteed change notification" cpufreq: mediatek-hw: Add support for CPUFREQ HW cpufreq: Add of_perf_domain_get_sharing_cpumask dt-bindings: cpufreq: add bindings for MediaTek cpufreq HW cpufreq: Remove ready() callback cpufreq: sh: Remove sh_cpufreq_cpu_ready() cpufreq: acpi: Remove acpi_cpufreq_cpu_ready() cpufreq: qcom-hw: Set dvfs_possible_from_any_cpu cpufreq driver flag cpufreq: blocklist more Qualcomm platforms in cpufreq-dt-platdev cpufreq: qcom-cpufreq-hw: Add dcvs interrupt support cpufreq: scmi: Use .register_em() to register with energy model cpufreq: vexpress: Use .register_em() to register with energy model cpufreq: scpi: Use .register_em() to register with energy model dt-bindings: opp: Convert to DT schema dt-bindings: Clean-up OPP binding node names in examples ARM: dts: omap: Drop references to opp.txt cpufreq: qcom-cpufreq-hw: Use .register_em() to register with energy model cpufreq: omap: Use .register_em() to register with energy model cpufreq: mediatek: Use .register_em() to register with energy model cpufreq: imx6q: Use .register_em() to register with energy model ...
2 parents 9c56661 + f76c87e commit 30f3490

39 files changed

+1441
-767
lines changed

Documentation/cpu-freq/cpu-drivers.rst

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,6 @@ And optionally
7575
.resume - A pointer to a per-policy resume function which is called
7676
with interrupts disabled and _before_ the governor is started again.
7777

78-
.ready - A pointer to a per-policy ready function which is called after
79-
the policy is fully initialized.
80-
8178
.attr - A pointer to a NULL-terminated list of "struct freq_attr" which
8279
allow to export values to sysfs.
8380

Documentation/devicetree/bindings/cpufreq/cpufreq-dt.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Required properties:
1111
- None
1212

1313
Optional properties:
14-
- operating-points: Refer to Documentation/devicetree/bindings/opp/opp.txt for
14+
- operating-points: Refer to Documentation/devicetree/bindings/opp/opp-v1.yaml for
1515
details. OPPs *must* be supplied either via DT, i.e. this property, or
1616
populated at runtime.
1717
- clock-latency: Specify the possible maximum transition latency for clock,
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/cpufreq/cpufreq-mediatek-hw.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MediaTek's CPUFREQ Bindings
8+
9+
maintainers:
10+
- Hector Yuan <hector.yuan@mediatek.com>
11+
12+
description:
13+
CPUFREQ HW is a hardware engine used by MediaTek SoCs to
14+
manage frequency in hardware. It is capable of controlling
15+
frequency for multiple clusters.
16+
17+
properties:
18+
compatible:
19+
const: mediatek,cpufreq-hw
20+
21+
reg:
22+
minItems: 1
23+
maxItems: 2
24+
description:
25+
Addresses and sizes for the memory of the HW bases in
26+
each frequency domain. Each entry corresponds to
27+
a register bank for each frequency domain present.
28+
29+
"#performance-domain-cells":
30+
description:
31+
Number of cells in a performance domain specifier.
32+
Set const to 1 here for nodes providing multiple
33+
performance domains.
34+
const: 1
35+
36+
required:
37+
- compatible
38+
- reg
39+
- "#performance-domain-cells"
40+
41+
additionalProperties: false
42+
43+
examples:
44+
- |
45+
cpus {
46+
#address-cells = <1>;
47+
#size-cells = <0>;
48+
49+
cpu0: cpu@0 {
50+
device_type = "cpu";
51+
compatible = "arm,cortex-a55";
52+
enable-method = "psci";
53+
performance-domains = <&performance 0>;
54+
reg = <0x000>;
55+
};
56+
};
57+
58+
/* ... */
59+
60+
soc {
61+
#address-cells = <2>;
62+
#size-cells = <2>;
63+
64+
performance: performance-controller@11bc00 {
65+
compatible = "mediatek,cpufreq-hw";
66+
reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
67+
68+
#performance-domain-cells = <1>;
69+
};
70+
};

Documentation/devicetree/bindings/cpufreq/cpufreq-mediatek.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Required properties:
1010
transition and not stable yet.
1111
Please refer to Documentation/devicetree/bindings/clock/clock-bindings.txt for
1212
generic clock consumer properties.
13-
- operating-points-v2: Please refer to Documentation/devicetree/bindings/opp/opp.txt
13+
- operating-points-v2: Please refer to Documentation/devicetree/bindings/opp/opp-v2.yaml
1414
for detail.
1515
- proc-supply: Regulator for Vproc of CPU cluster.
1616

Documentation/devicetree/bindings/cpufreq/cpufreq-st.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,14 @@ from the SoC, then supplies the OPP framework with 'prop' and 'supported
66
hardware' information respectively. The framework is then able to read
77
the DT and operate in the usual way.
88

9-
For more information about the expected DT format [See: ../opp/opp.txt].
10-
119
Frequency Scaling only
1210
----------------------
1311

1412
No vendor specific driver required for this.
1513

1614
Located in CPU's node:
1715

18-
- operating-points : [See: ../power/opp.txt]
16+
- operating-points : [See: ../power/opp-v1.yaml]
1917

2018
Example [safe]
2119
--------------
@@ -37,7 +35,7 @@ This requires the ST CPUFreq driver to supply 'process' and 'version' info.
3735

3836
Located in CPU's node:
3937

40-
- operating-points-v2 : [See ../power/opp.txt]
38+
- operating-points-v2 : [See ../power/opp-v2.yaml]
4139

4240
Example [unsafe]
4341
----------------

Documentation/devicetree/bindings/cpufreq/nvidia,tegra20-cpufreq.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Binding for NVIDIA Tegra20 CPUFreq
44
Required properties:
55
- clocks: Must contain an entry for the CPU clock.
66
See ../clocks/clock-bindings.txt for details.
7-
- operating-points-v2: See ../bindings/opp/opp.txt for details.
7+
- operating-points-v2: See ../bindings/opp/opp-v2.yaml for details.
88
- #cooling-cells: Should be 2. See ../thermal/thermal-cooling-devices.yaml for details.
99

1010
For each opp entry in 'operating-points-v2' table:

Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Required properties:
88
- clocks: Phandles for clock specified in "clock-names" property
99
- clock-names : The name of clock used by the DFI, must be
1010
"pclk_ddr_mon";
11-
- operating-points-v2: Refer to Documentation/devicetree/bindings/opp/opp.txt
11+
- operating-points-v2: Refer to Documentation/devicetree/bindings/opp/opp-v2.yaml
1212
for details.
1313
- center-supply: DMC supply node.
1414
- status: Marks the node enabled/disabled.

Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ examples:
137137
resets = <&reset 0>, <&reset 1>;
138138
};
139139
140-
gpu_opp_table: opp_table0 {
140+
gpu_opp_table: opp-table {
141141
compatible = "operating-points-v2";
142142
143143
opp-533000000 {

Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ examples:
160160
#cooling-cells = <2>;
161161
};
162162
163-
gpu_opp_table: opp_table0 {
163+
gpu_opp_table: opp-table {
164164
compatible = "operating-points-v2";
165165
166166
opp-533000000 {

Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ examples:
8181
noc_opp_table: opp-table {
8282
compatible = "operating-points-v2";
8383
84-
opp-133M {
84+
opp-133333333 {
8585
opp-hz = /bits/ 64 <133333333>;
8686
};
87-
opp-800M {
87+
opp-800000000 {
8888
opp-hz = /bits/ 64 <800000000>;
8989
};
9090
};

0 commit comments

Comments
 (0)