* [PATCH v2 0/2] ARM: dts: sun8i: a83t: Add missing cooling device properties for CPUs @ 2019-03-28 11:31 megous via linux-sunxi [not found] ` <20190328113159.9668-1-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: megous via linux-sunxi @ 2019-03-28 11:31 UTC (permalink / raw) To: Maxime Ripard, Chen-Yu Tsai Cc: Ondrej Jirman, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA From: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> This series adds some properties to prepare for passive cooling via CPU frequency down-regulation, and fixes cpufreq for various CPU hotplug situations. #cooling-cells patch is not strictly necessary now, but now that SID changes are soon to be merged, thermal sensor patches are likely to follow, and it will be useful in short order, I expect. Please take a look. regards, Ondrej Jirman Changes for v2: - split the former single patch into a series - reformulated descriptions to accommodate the split Ondrej Jirman (2): ARM: dts: sun8i: a83t: Add missing cooling device properties for CPUs ARM: dts: sun8i: a83t: Add missing CPU clock references arch/arm/boot/dts/sun8i-a83t.dtsi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) -- 2.21.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <20190328113159.9668-1-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org>]
* [PATCH v2 1/2] ARM: dts: sun8i: a83t: Add missing cooling device properties for CPUs [not found] ` <20190328113159.9668-1-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> @ 2019-03-28 11:31 ` megous via linux-sunxi [not found] ` <20190328113159.9668-2-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> 2019-03-28 11:31 ` [PATCH v2 2/2] ARM: dts: sun8i: a83t: Add missing CPU clock references megous via linux-sunxi 1 sibling, 1 reply; 6+ messages in thread From: megous via linux-sunxi @ 2019-03-28 11:31 UTC (permalink / raw) To: Maxime Ripard, Chen-Yu Tsai Cc: Ondrej Jirman, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA From: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> Enable to use CPUs as cooling device in the future, by adding "#cooling-cells" to each CPU node. This property should be present for all the CPUs of a cluster. If these are present only for a subset of CPUs of a cluster then things will start falling apart as soon as the CPUs are brought online in a different order. For example, this will happen because the operating system looks for such properties in the CPU node it is trying to bring up, so that it can register a cooling device. Signed-off-by: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> --- arch/arm/boot/dts/sun8i-a83t.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi index fcb7ef5ce2df..7a40b7d77ec0 100644 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi +++ b/arch/arm/boot/dts/sun8i-a83t.dtsi @@ -69,6 +69,7 @@ cci-control-port = <&cci_control0>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <0>; + #cooling-cells = <2>; }; cpu@1 { @@ -78,6 +79,7 @@ cci-control-port = <&cci_control0>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <1>; + #cooling-cells = <2>; }; cpu@2 { @@ -87,6 +89,7 @@ cci-control-port = <&cci_control0>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <2>; + #cooling-cells = <2>; }; cpu@3 { @@ -96,6 +99,7 @@ cci-control-port = <&cci_control0>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <3>; + #cooling-cells = <2>; }; cpu100: cpu@100 { @@ -107,6 +111,7 @@ cci-control-port = <&cci_control1>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <0x100>; + #cooling-cells = <2>; }; cpu@101 { @@ -116,6 +121,7 @@ cci-control-port = <&cci_control1>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <0x101>; + #cooling-cells = <2>; }; cpu@102 { @@ -125,6 +131,7 @@ cci-control-port = <&cci_control1>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <0x102>; + #cooling-cells = <2>; }; cpu@103 { @@ -134,6 +141,7 @@ cci-control-port = <&cci_control1>; enable-method = "allwinner,sun8i-a83t-smp"; reg = <0x103>; + #cooling-cells = <2>; }; }; -- 2.21.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
[parent not found: <20190328113159.9668-2-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH v2 1/2] ARM: dts: sun8i: a83t: Add missing cooling device properties for CPUs [not found] ` <20190328113159.9668-2-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> @ 2019-04-01 8:20 ` Maxime Ripard 0 siblings, 0 replies; 6+ messages in thread From: Maxime Ripard @ 2019-04-01 8:20 UTC (permalink / raw) To: megous-5qf/QAjKc83QT0dZR+AlfA Cc: Chen-Yu Tsai, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 861 bytes --] On Thu, Mar 28, 2019 at 12:31:58PM +0100, megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org wrote: > From: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> > > Enable to use CPUs as cooling device in the future, by adding > "#cooling-cells" to each CPU node. This property should be present for > all the CPUs of a cluster. If these are present only for a subset of > CPUs of a cluster then things will start falling apart as soon as the > CPUs are brought online in a different order. For example, this will > happen because the operating system looks for such properties in the CPU > node it is trying to bring up, so that it can register a cooling device. > > Signed-off-by: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> Applied, thanks! Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] ARM: dts: sun8i: a83t: Add missing CPU clock references [not found] ` <20190328113159.9668-1-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> 2019-03-28 11:31 ` [PATCH v2 1/2] " megous via linux-sunxi @ 2019-03-28 11:31 ` megous via linux-sunxi [not found] ` <20190328113159.9668-3-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> 1 sibling, 1 reply; 6+ messages in thread From: megous via linux-sunxi @ 2019-03-28 11:31 UTC (permalink / raw) To: Maxime Ripard, Chen-Yu Tsai Cc: Ondrej Jirman, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA From: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> A83T DTSI has cpu clocks defined only on the first CPU in each cluster. We can bring down any CPU in the cluster, so we need to define clock for each CPU, so that the system knows what clock to use if the first CPU is down. Signed-off-by: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> --- arch/arm/boot/dts/sun8i-a83t.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi index 7a40b7d77ec0..1b0b025b9250 100644 --- a/arch/arm/boot/dts/sun8i-a83t.dtsi +++ b/arch/arm/boot/dts/sun8i-a83t.dtsi @@ -73,6 +73,8 @@ }; cpu@1 { + clocks = <&ccu CLK_C0CPUX>; + clock-names = "cpu"; compatible = "arm,cortex-a7"; device_type = "cpu"; operating-points-v2 = <&cpu0_opp_table>; @@ -83,6 +85,8 @@ }; cpu@2 { + clocks = <&ccu CLK_C0CPUX>; + clock-names = "cpu"; compatible = "arm,cortex-a7"; device_type = "cpu"; operating-points-v2 = <&cpu0_opp_table>; @@ -93,6 +97,8 @@ }; cpu@3 { + clocks = <&ccu CLK_C0CPUX>; + clock-names = "cpu"; compatible = "arm,cortex-a7"; device_type = "cpu"; operating-points-v2 = <&cpu0_opp_table>; @@ -115,6 +121,8 @@ }; cpu@101 { + clocks = <&ccu CLK_C1CPUX>; + clock-names = "cpu"; compatible = "arm,cortex-a7"; device_type = "cpu"; operating-points-v2 = <&cpu1_opp_table>; @@ -125,6 +133,8 @@ }; cpu@102 { + clocks = <&ccu CLK_C1CPUX>; + clock-names = "cpu"; compatible = "arm,cortex-a7"; device_type = "cpu"; operating-points-v2 = <&cpu1_opp_table>; @@ -135,6 +145,8 @@ }; cpu@103 { + clocks = <&ccu CLK_C1CPUX>; + clock-names = "cpu"; compatible = "arm,cortex-a7"; device_type = "cpu"; operating-points-v2 = <&cpu1_opp_table>; -- 2.21.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
[parent not found: <20190328113159.9668-3-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH v2 2/2] ARM: dts: sun8i: a83t: Add missing CPU clock references [not found] ` <20190328113159.9668-3-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> @ 2019-04-01 8:22 ` Maxime Ripard 2019-04-01 11:30 ` 'Ondřej Jirman' via linux-sunxi 0 siblings, 1 reply; 6+ messages in thread From: Maxime Ripard @ 2019-04-01 8:22 UTC (permalink / raw) To: megous-5qf/QAjKc83QT0dZR+AlfA Cc: Chen-Yu Tsai, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1073 bytes --] Hi, On Thu, Mar 28, 2019 at 12:31:59PM +0100, megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org wrote: > From: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> > > A83T DTSI has cpu clocks defined only on the first CPU in each cluster. > We can bring down any CPU in the cluster, so we need to define clock > for each CPU, so that the system knows what clock to use if the first > CPU is down. > > Signed-off-by: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> > --- > arch/arm/boot/dts/sun8i-a83t.dtsi | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi > index 7a40b7d77ec0..1b0b025b9250 100644 > --- a/arch/arm/boot/dts/sun8i-a83t.dtsi > +++ b/arch/arm/boot/dts/sun8i-a83t.dtsi > @@ -73,6 +73,8 @@ > }; > > cpu@1 { > + clocks = <&ccu CLK_C0CPUX>; Usually we'll have the compatible first > + clock-names = "cpu"; And that's not documented anywhere? Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] ARM: dts: sun8i: a83t: Add missing CPU clock references 2019-04-01 8:22 ` Maxime Ripard @ 2019-04-01 11:30 ` 'Ondřej Jirman' via linux-sunxi 0 siblings, 0 replies; 6+ messages in thread From: 'Ondřej Jirman' via linux-sunxi @ 2019-04-01 11:30 UTC (permalink / raw) To: Maxime Ripard Cc: Chen-Yu Tsai, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA Hello Maxime, On Mon, Apr 01, 2019 at 10:22:42AM +0200, Maxime Ripard wrote: > Hi, > > On Thu, Mar 28, 2019 at 12:31:59PM +0100, megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org wrote: > > From: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> > > > > A83T DTSI has cpu clocks defined only on the first CPU in each cluster. > > We can bring down any CPU in the cluster, so we need to define clock > > for each CPU, so that the system knows what clock to use if the first > > CPU is down. > > > > Signed-off-by: Ondrej Jirman <megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> > > --- > > arch/arm/boot/dts/sun8i-a83t.dtsi | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi > > index 7a40b7d77ec0..1b0b025b9250 100644 > > --- a/arch/arm/boot/dts/sun8i-a83t.dtsi > > +++ b/arch/arm/boot/dts/sun8i-a83t.dtsi > > @@ -73,6 +73,8 @@ > > }; > > > > cpu@1 { > > + clocks = <&ccu CLK_C0CPUX>; > > Usually we'll have the compatible first I'll re-order it. > > + clock-names = "cpu"; > > And that's not documented anywhere? Cpufreq doesn't use CPU clock names, except for the mediatek cpufreq driver. It's not docummented explicitly, except it's used as part of examples in bindings/opp/opp.txt. I guess I can safely drop it, but other will probably keep using it, because it's part of the examples. thank you and regards, Ondrej > Maxime > > -- > Maxime Ripard, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-04-01 11:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-03-28 11:31 [PATCH v2 0/2] ARM: dts: sun8i: a83t: Add missing cooling device properties for CPUs megous via linux-sunxi [not found] ` <20190328113159.9668-1-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> 2019-03-28 11:31 ` [PATCH v2 1/2] " megous via linux-sunxi [not found] ` <20190328113159.9668-2-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> 2019-04-01 8:20 ` Maxime Ripard 2019-03-28 11:31 ` [PATCH v2 2/2] ARM: dts: sun8i: a83t: Add missing CPU clock references megous via linux-sunxi [not found] ` <20190328113159.9668-3-megous-5qf/QAjKc83QT0dZR+AlfA@public.gmane.org> 2019-04-01 8:22 ` Maxime Ripard 2019-04-01 11:30 ` 'Ondřej Jirman' via linux-sunxi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).