diff mbox

ARM64: dts: Add clock-frequency to model cpu nodes

Message ID 1386335683-11405-1-git-send-email-broonie@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Mark Brown Dec. 6, 2013, 1:14 p.m. UTC
From: Mark Brown <broonie@linaro.org>

The clock-frequency property is meaningless for the models but it's a
mandatory property so claim that all the cores run at 1MHz.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 arch/arm64/boot/dts/foundation-v8.dts  | 4 ++++
 arch/arm64/boot/dts/rtsm_ve-aemv8a.dts | 4 ++++
 2 files changed, 8 insertions(+)

Comments

Jon Medhurst (Tixy) Dec. 9, 2013, 5:56 p.m. UTC | #1
On Fri, 2013-12-06 at 13:14 +0000, Mark Brown wrote:
> From: Mark Brown <broonie@linaro.org>
> 
> The clock-frequency property is meaningless for the models but it's a
> mandatory property so claim that all the cores run at 1MHz.

Is it a mandatory property? I know we seem to get ugly warnings if it's
missing but I see no mention of it at all in
Documentation/devicetree/bindings/arm/cpus.txt (am I looking in the
wrong place?)

I think this attribute got merged into the kernel with the early power
related scheduling efforts, but given the state of all that at the
moment I was guessing it might be obsolete.

-- Tixy

> Signed-off-by: Mark Brown <broonie@linaro.org>
> ---
>  arch/arm64/boot/dts/foundation-v8.dts  | 4 ++++
>  arch/arm64/boot/dts/rtsm_ve-aemv8a.dts | 4 ++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/foundation-v8.dts b/arch/arm64/boot/dts/foundation-v8.dts
> index 4a060906809d..f91b2fa41fb3 100644
> --- a/arch/arm64/boot/dts/foundation-v8.dts
> +++ b/arch/arm64/boot/dts/foundation-v8.dts
> @@ -34,6 +34,7 @@
>  			reg = <0x0 0x0>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  		cpu@1 {
>  			device_type = "cpu";
> @@ -41,6 +42,7 @@
>  			reg = <0x0 0x1>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  		cpu@2 {
>  			device_type = "cpu";
> @@ -48,6 +50,7 @@
>  			reg = <0x0 0x2>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  		cpu@3 {
>  			device_type = "cpu";
> @@ -55,6 +58,7 @@
>  			reg = <0x0 0x3>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  	};
>  
> diff --git a/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts b/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts
> index 572005ea2217..d7debfe79d9f 100644
> --- a/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts
> +++ b/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts
> @@ -37,6 +37,7 @@
>  			reg = <0x0 0x0>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  		cpu@1 {
>  			device_type = "cpu";
> @@ -44,6 +45,7 @@
>  			reg = <0x0 0x1>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  		cpu@2 {
>  			device_type = "cpu";
> @@ -51,6 +53,7 @@
>  			reg = <0x0 0x2>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  		cpu@3 {
>  			device_type = "cpu";
> @@ -58,6 +61,7 @@
>  			reg = <0x0 0x3>;
>  			enable-method = "spin-table";
>  			cpu-release-addr = <0x0 0x8000fff8>;
> +			clock-frequency = <1000000>;
>  		};
>  	};
>
Mark Brown Dec. 9, 2013, 6:05 p.m. UTC | #2
On Mon, Dec 09, 2013 at 05:56:05PM +0000, Jon Medhurst (Tixy) wrote:
> On Fri, 2013-12-06 at 13:14 +0000, Mark Brown wrote:

> > The clock-frequency property is meaningless for the models but it's a
> > mandatory property so claim that all the cores run at 1MHz.

> Is it a mandatory property? I know we seem to get ugly warnings if it's
> missing but I see no mention of it at all in
> Documentation/devicetree/bindings/arm/cpus.txt (am I looking in the
> wrong place?)

It's mandatory according to ePAPR (see my separate patch copying the
definition into our copy of the binding documents).

> I think this attribute got merged into the kernel with the early power
> related scheduling efforts, but given the state of all that at the
> moment I was guessing it might be obsolete.

No, it's still being used.  At the minute mainline should in theory
balance tasks well enough between the cores when they're all enabled, it
just won't figure out that it's useful to shut one of the clusters down.
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/foundation-v8.dts b/arch/arm64/boot/dts/foundation-v8.dts
index 4a060906809d..f91b2fa41fb3 100644
--- a/arch/arm64/boot/dts/foundation-v8.dts
+++ b/arch/arm64/boot/dts/foundation-v8.dts
@@ -34,6 +34,7 @@ 
 			reg = <0x0 0x0>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 		cpu@1 {
 			device_type = "cpu";
@@ -41,6 +42,7 @@ 
 			reg = <0x0 0x1>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 		cpu@2 {
 			device_type = "cpu";
@@ -48,6 +50,7 @@ 
 			reg = <0x0 0x2>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 		cpu@3 {
 			device_type = "cpu";
@@ -55,6 +58,7 @@ 
 			reg = <0x0 0x3>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 	};
 
diff --git a/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts b/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts
index 572005ea2217..d7debfe79d9f 100644
--- a/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts
+++ b/arch/arm64/boot/dts/rtsm_ve-aemv8a.dts
@@ -37,6 +37,7 @@ 
 			reg = <0x0 0x0>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 		cpu@1 {
 			device_type = "cpu";
@@ -44,6 +45,7 @@ 
 			reg = <0x0 0x1>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 		cpu@2 {
 			device_type = "cpu";
@@ -51,6 +53,7 @@ 
 			reg = <0x0 0x2>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 		cpu@3 {
 			device_type = "cpu";
@@ -58,6 +61,7 @@ 
 			reg = <0x0 0x3>;
 			enable-method = "spin-table";
 			cpu-release-addr = <0x0 0x8000fff8>;
+			clock-frequency = <1000000>;
 		};
 	};