All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] msm8939 cpufreq preparatory work
@ 2022-07-08  1:44 Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 1/4] dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks Bryan O'Donoghue
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2022-07-08  1:44 UTC (permalink / raw)
  To: ilia.lin, agross, rafael, viresh.kumar, robh+dt,
	krzysztof.kozlowski+dt, stephan
  Cc: linux-pm, linux-arm-msm, devicetree, bryan.odonoghue

V2:
- Previous series title "qcom-cpufreq-nvmem: Add msm8939 with some fixups"
  https://www.spinics.net/lists/linux-arm-msm/msg116201.html

- Drops adding msm8939 to the cpufreq-nvmem layer at all.
  cpufreq and CPR go hand in hand so we need to do the addition to
  cpufreq-nvmem in tandem with the associated CPR driver update. - Stephan

  We can still add in msm8939 to the cpufreq-dt-platdev block list and
  fixup the dt binding check errors found doing that.

- Adds a patch to the error reported by Rob's bot.
  Rob said he thought Krzysztof had a patch for that but, I couldn't find it
  so I just added a fix as the first patch - bod

- Adds Acked-by Rob to second patch
- Adds Acked-by Krzysztof to third patch

V1:
Fix up some missing compat strings for the qcom-cpufreq-nvmem yaml.
Add in msm8939 as a compatible qcom-cpufreq-nvmem.

Bryan O'Donoghue (4):
  dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks
  dt-bindings: opp: Add missing compat devices
  dt-bindings: opp: Add msm8939 to the compatible list
  cpufreq: blocklist Qualcomm msm8939 in cpufreq-dt-platdev

 .../bindings/cpufreq/qcom-cpufreq-nvmem.yaml      |  7 +++++++
 .../devicetree/bindings/opp/opp-v2-kryo-cpu.yaml  | 15 +++++++++++++++
 drivers/cpufreq/cpufreq-dt-platdev.c              |  1 +
 3 files changed, 23 insertions(+)

-- 
2.36.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/4] dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks
  2022-07-08  1:44 [PATCH v2 0/4] msm8939 cpufreq preparatory work Bryan O'Donoghue
@ 2022-07-08  1:44 ` Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 2/4] dt-bindings: opp: Add missing compat devices Bryan O'Donoghue
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2022-07-08  1:44 UTC (permalink / raw)
  To: ilia.lin, agross, rafael, viresh.kumar, robh+dt,
	krzysztof.kozlowski+dt, stephan
  Cc: linux-pm, linux-arm-msm, devicetree, bryan.odonoghue

Adding missing compat entries to the cpufreq node
Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml shows up
a dt_binding_check in this file.

opp-v2-kryo-cpu.example.dtb: /: cpus:cpu@0: 'power-domains' is a required property
opp-v2-kryo-cpu.example.dtb: /: cpus:cpu@0: 'power-domain-names' is a required property
opp-v2-kryo-cpu.example.dtb: /: opp-table-0:opp-307200000: 'required-opps' is a required property

Fixes: ec24d1d55469 ("dt-bindings: opp: Convert qcom-nvmem-cpufreq to DT schema")
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 .../devicetree/bindings/opp/opp-v2-kryo-cpu.yaml  | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
index 30f7b596d609b..59663e897dae9 100644
--- a/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
+++ b/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml
@@ -98,6 +98,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 0>;
                 operating-points-v2 = <&cluster0_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_0>;
                 L2_0: l2-cache {
@@ -115,6 +117,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 0>;
                 operating-points-v2 = <&cluster0_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_0>;
             };
@@ -128,6 +132,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 1>;
                 operating-points-v2 = <&cluster1_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_1>;
                 L2_1: l2-cache {
@@ -145,6 +151,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 1>;
                 operating-points-v2 = <&cluster1_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_1>;
             };
@@ -182,18 +190,21 @@ examples:
                 opp-microvolt = <905000 905000 1140000>;
                 opp-supported-hw = <0x7>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp1>;
             };
             opp-1401600000 {
                 opp-hz = /bits/ 64 <1401600000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x5>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp2>;
             };
             opp-1593600000 {
                 opp-hz = /bits/ 64 <1593600000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x1>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp3>;
             };
         };
 
@@ -207,24 +218,28 @@ examples:
                 opp-microvolt = <905000 905000 1140000>;
                 opp-supported-hw = <0x7>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp1>;
             };
             opp-1804800000 {
                 opp-hz = /bits/ 64 <1804800000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x6>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp4>;
             };
             opp-1900800000 {
                 opp-hz = /bits/ 64 <1900800000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x4>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp5>;
             };
             opp-2150400000 {
                 opp-hz = /bits/ 64 <2150400000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x1>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp6>;
             };
         };
 
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/4] dt-bindings: opp: Add missing compat devices
  2022-07-08  1:44 [PATCH v2 0/4] msm8939 cpufreq preparatory work Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 1/4] dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks Bryan O'Donoghue
@ 2022-07-08  1:44 ` Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 3/4] dt-bindings: opp: Add msm8939 to the compatible list Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 4/4] cpufreq: blocklist Qualcomm msm8939 in cpufreq-dt-platdev Bryan O'Donoghue
  3 siblings, 0 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2022-07-08  1:44 UTC (permalink / raw)
  To: ilia.lin, agross, rafael, viresh.kumar, robh+dt,
	krzysztof.kozlowski+dt, stephan
  Cc: linux-pm, linux-arm-msm, devicetree, bryan.odonoghue, krzk+dt,
	Krzysztof Kozlowski, Rob Herring

A number of devices listed in drivers/cpufreq/qcom-cpufreq-nvmem.c appear
to be missing from the compatible list.

Cc: ilia.lin@kernel.org
Cc: robh+dt@kernel.org
Cc: krzk+dt@kernel.org
Cc: devicetree@vger.kernel.org
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 .../devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml     | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
index 10b3a7a4af366..b8b6cdc73209f 100644
--- a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
+++ b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
@@ -22,6 +22,12 @@ select:
     compatible:
       contains:
         enum:
+          - qcom,apq8064
+          - qcom,apq8096
+          - qcom,ipq8064
+          - qcom,msm8960
+          - qcom,msm8974
+          - qcom,msm8996
           - qcom,qcs404
   required:
     - compatible
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 3/4] dt-bindings: opp: Add msm8939 to the compatible list
  2022-07-08  1:44 [PATCH v2 0/4] msm8939 cpufreq preparatory work Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 1/4] dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 2/4] dt-bindings: opp: Add missing compat devices Bryan O'Donoghue
@ 2022-07-08  1:44 ` Bryan O'Donoghue
  2022-07-08  1:44 ` [PATCH v2 4/4] cpufreq: blocklist Qualcomm msm8939 in cpufreq-dt-platdev Bryan O'Donoghue
  3 siblings, 0 replies; 6+ messages in thread
From: Bryan O'Donoghue @ 2022-07-08  1:44 UTC (permalink / raw)
  To: ilia.lin, agross, rafael, viresh.kumar, robh+dt,
	krzysztof.kozlowski+dt, stephan
  Cc: linux-pm, linux-arm-msm, devicetree, bryan.odonoghue, krzk+dt,
	Krzysztof Kozlowski

msm8939 will uses this driver instead of the generic dt-cpufreq. Add to the
compatible list.

Cc: ilia.lin@kernel.org
Cc: robh+dt@kernel.org
Cc: krzk+dt@kernel.org
Cc: devicetree@vger.kernel.org
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 .../devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml          | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
index b8b6cdc73209f..a11e1b867379a 100644
--- a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
+++ b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
@@ -25,6 +25,7 @@ select:
           - qcom,apq8064
           - qcom,apq8096
           - qcom,ipq8064
+          - qcom,msm8939
           - qcom,msm8960
           - qcom,msm8974
           - qcom,msm8996
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 4/4] cpufreq: blocklist Qualcomm msm8939 in cpufreq-dt-platdev
  2022-07-08  1:44 [PATCH v2 0/4] msm8939 cpufreq preparatory work Bryan O'Donoghue
                   ` (2 preceding siblings ...)
  2022-07-08  1:44 ` [PATCH v2 3/4] dt-bindings: opp: Add msm8939 to the compatible list Bryan O'Donoghue
@ 2022-07-08  1:44 ` Bryan O'Donoghue
  2022-07-08  9:43   ` Stephan Gerhold
  3 siblings, 1 reply; 6+ messages in thread
From: Bryan O'Donoghue @ 2022-07-08  1:44 UTC (permalink / raw)
  To: ilia.lin, agross, rafael, viresh.kumar, robh+dt,
	krzysztof.kozlowski+dt, stephan
  Cc: linux-pm, linux-arm-msm, devicetree, bryan.odonoghue

msm8939 will use qcom-cpufreq-nvmem. Block it on the generic cpufreq-dt
list.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
index 2c96de3f2d83c..26c97ab778974 100644
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
@@ -137,6 +137,7 @@ static const struct of_device_id blocklist[] __initconst = {
 	{ .compatible = "nvidia,tegra210", },
 
 	{ .compatible = "qcom,apq8096", },
+	{ .compatible = "qcom,msm8939", },
 	{ .compatible = "qcom,msm8996", },
 	{ .compatible = "qcom,qcs404", },
 	{ .compatible = "qcom,sa8155p" },
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 4/4] cpufreq: blocklist Qualcomm msm8939 in cpufreq-dt-platdev
  2022-07-08  1:44 ` [PATCH v2 4/4] cpufreq: blocklist Qualcomm msm8939 in cpufreq-dt-platdev Bryan O'Donoghue
@ 2022-07-08  9:43   ` Stephan Gerhold
  0 siblings, 0 replies; 6+ messages in thread
From: Stephan Gerhold @ 2022-07-08  9:43 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: ilia.lin, agross, rafael, viresh.kumar, robh+dt,
	krzysztof.kozlowski+dt, linux-pm, linux-arm-msm, devicetree

On Fri, Jul 08, 2022 at 02:44:19AM +0100, Bryan O'Donoghue wrote:
> msm8939 will use qcom-cpufreq-nvmem. Block it on the generic cpufreq-dt
> list.
> 
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

Personally I would defer this patch as well until cpufreq is properly
enabled on msm8939 together with the qcom-cpufreq-nvmem changes and CPR.

I'm not strictly opposed to get this in now, but it also does not really
make any functional difference, or does it?

> ---
>  drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index 2c96de3f2d83c..26c97ab778974 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -137,6 +137,7 @@ static const struct of_device_id blocklist[] __initconst = {
>  	{ .compatible = "nvidia,tegra210", },
>  
>  	{ .compatible = "qcom,apq8096", },
> +	{ .compatible = "qcom,msm8939", },
>  	{ .compatible = "qcom,msm8996", },
>  	{ .compatible = "qcom,qcs404", },
>  	{ .compatible = "qcom,sa8155p" },
> -- 
> 2.36.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-07-08  9:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-08  1:44 [PATCH v2 0/4] msm8939 cpufreq preparatory work Bryan O'Donoghue
2022-07-08  1:44 ` [PATCH v2 1/4] dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks Bryan O'Donoghue
2022-07-08  1:44 ` [PATCH v2 2/4] dt-bindings: opp: Add missing compat devices Bryan O'Donoghue
2022-07-08  1:44 ` [PATCH v2 3/4] dt-bindings: opp: Add msm8939 to the compatible list Bryan O'Donoghue
2022-07-08  1:44 ` [PATCH v2 4/4] cpufreq: blocklist Qualcomm msm8939 in cpufreq-dt-platdev Bryan O'Donoghue
2022-07-08  9:43   ` Stephan Gerhold

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.