* [PATCH v2 0/4] Allwinner H6 GPU devfreq
@ 2022-08-21 17:30 Clément Péron
2022-08-21 17:30 ` [PATCH v2 1/4] arm64: defconfig: Enable devfreq cooling device Clément Péron
` (3 more replies)
0 siblings, 4 replies; 17+ messages in thread
From: Clément Péron @ 2022-08-21 17:30 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
Clément Péron
Hi,
This is a refresh of previous patches sent to enable GPU Devfreq on H6
Beelink GS1 but that wasn't stable at that time[0].
With the recent fix on GPU PLL from Roman Stratiienko I have retested
and everything seems stable and works as expected.
Regards,
Clement
0: https://lore.kernel.org/lkml/CAJiuCce58Gaxf_Qg2cnMwvOgUqYU__eKb3MDX1Fe_+47htg2bA@mail.gmail.com/
1: https://lore.kernel.org/linux-arm-kernel/2562485.k3LOHGUjKi@kista/T/
Changes since v1:
- proper sign-off with my personal email
- sent serie to SoC Maintainer w/ cover letter
Clément Péron (4):
arm64: defconfig: Enable devfreq cooling device
arm64: dts: allwinner: h6: Add cooling map for GPU
arm64: dts: allwinner: h6: Add GPU OPP table
arm64: dts: allwinner: beelink-gs1: Enable GPU OPP
.../dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 +
.../boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi | 88 +++++++++++++++++++
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 22 +++++
arch/arm64/configs/defconfig | 1 +
4 files changed, 113 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi
--
2.34.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread* [PATCH v2 1/4] arm64: defconfig: Enable devfreq cooling device 2022-08-21 17:30 [PATCH v2 0/4] Allwinner H6 GPU devfreq Clément Péron @ 2022-08-21 17:30 ` Clément Péron 2022-08-25 20:53 ` Jernej Škrabec 2022-08-21 17:30 ` [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU Clément Péron ` (2 subsequent siblings) 3 siblings, 1 reply; 17+ messages in thread From: Clément Péron @ 2022-08-21 17:30 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Catalin Marinas, Will Deacon Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Clément Péron Devfreq cooling device framework is used in Panfrost to throttle GPU in order to regulate its temperature. Enable this driver for ARM64 SoC. Signed-off-by: Clément Péron <peron.clem@gmail.com> --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index d5b2d2dd4904..109004e44d21 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -584,6 +584,7 @@ CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y CONFIG_CPU_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y CONFIG_THERMAL_EMULATION=y CONFIG_IMX_SC_THERMAL=m CONFIG_IMX8MM_THERMAL=m -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/4] arm64: defconfig: Enable devfreq cooling device 2022-08-21 17:30 ` [PATCH v2 1/4] arm64: defconfig: Enable devfreq cooling device Clément Péron @ 2022-08-25 20:53 ` Jernej Škrabec 0 siblings, 0 replies; 17+ messages in thread From: Jernej Škrabec @ 2022-08-25 20:53 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Chen-Yu Tsai, Samuel Holland, Catalin Marinas, Will Deacon, Clément Péron Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Clément Péron Dne nedelja, 21. avgust 2022 ob 19:30:48 CEST je Clément Péron napisal(a): > Devfreq cooling device framework is used in Panfrost > to throttle GPU in order to regulate its temperature. > > Enable this driver for ARM64 SoC. > > Signed-off-by: Clément Péron <peron.clem@gmail.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Best regards, Jernej > --- > arch/arm64/configs/defconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > index d5b2d2dd4904..109004e44d21 100644 > --- a/arch/arm64/configs/defconfig > +++ b/arch/arm64/configs/defconfig > @@ -584,6 +584,7 @@ CONFIG_SENSORS_INA2XX=m > CONFIG_SENSORS_INA3221=m > CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y > CONFIG_CPU_THERMAL=y > +CONFIG_DEVFREQ_THERMAL=y > CONFIG_THERMAL_EMULATION=y > CONFIG_IMX_SC_THERMAL=m > CONFIG_IMX8MM_THERMAL=m > -- > 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU 2022-08-21 17:30 [PATCH v2 0/4] Allwinner H6 GPU devfreq Clément Péron 2022-08-21 17:30 ` [PATCH v2 1/4] arm64: defconfig: Enable devfreq cooling device Clément Péron @ 2022-08-21 17:30 ` Clément Péron 2022-08-23 3:16 ` Samuel Holland 2022-08-21 17:30 ` [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table Clément Péron 2022-08-21 17:30 ` [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP Clément Péron 3 siblings, 1 reply; 17+ messages in thread From: Clément Péron @ 2022-08-21 17:30 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Clément Péron Add a simple cooling map for the GPU. Signed-off-by: Clément Péron <peron.clem@gmail.com> --- arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi index 5a28303d3d4c..943ae5374dd6 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi @@ -186,6 +186,7 @@ gpu: gpu@1800000 { clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>; clock-names = "core", "bus"; resets = <&ccu RST_BUS_GPU>; + #cooling-cells = <2>; status = "disabled"; }; @@ -1075,6 +1076,27 @@ gpu-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&ths 1>; + + trips { + gpu_alert: gpu-alert { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + + gpu-crit { + temperature = <100000>; + hysteresis = <0>; + type = "critical"; + }; + }; + + cooling-maps { + map0 { + trip = <&gpu_alert>; + cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; }; }; }; -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU 2022-08-21 17:30 ` [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU Clément Péron @ 2022-08-23 3:16 ` Samuel Holland 2022-08-27 16:49 ` Clément Péron 0 siblings, 1 reply; 17+ messages in thread From: Samuel Holland @ 2022-08-23 3:16 UTC (permalink / raw) To: Clément Péron, Chen-Yu Tsai, Jernej Skrabec Cc: Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel On 8/21/22 12:30 PM, Clément Péron wrote: > Add a simple cooling map for the GPU. It would be good to document where the trip point temperatures came from. > Signed-off-by: Clément Péron <peron.clem@gmail.com> Acked-by: Samuel Holland <samuel@sholland.org> > --- > arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 22 ++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi > index 5a28303d3d4c..943ae5374dd6 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi > @@ -186,6 +186,7 @@ gpu: gpu@1800000 { > clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>; > clock-names = "core", "bus"; > resets = <&ccu RST_BUS_GPU>; > + #cooling-cells = <2>; > status = "disabled"; > }; > > @@ -1075,6 +1076,27 @@ gpu-thermal { > polling-delay-passive = <0>; > polling-delay = <0>; > thermal-sensors = <&ths 1>; > + > + trips { > + gpu_alert: gpu-alert { > + temperature = <85000>; > + hysteresis = <2000>; > + type = "passive"; > + }; > + > + gpu-crit { > + temperature = <100000>; > + hysteresis = <0>; > + type = "critical"; > + }; > + }; > + > + cooling-maps { > + map0 { > + trip = <&gpu_alert>; > + cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > + }; > + }; > }; > }; > }; > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU 2022-08-23 3:16 ` Samuel Holland @ 2022-08-27 16:49 ` Clément Péron 2022-09-04 3:24 ` Samuel Holland 0 siblings, 1 reply; 17+ messages in thread From: Clément Péron @ 2022-08-27 16:49 UTC (permalink / raw) To: Samuel Holland Cc: Chen-Yu Tsai, Jernej Skrabec, Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel Hi Samuel, On Tue, 23 Aug 2022 at 05:16, Samuel Holland <samuel@sholland.org> wrote: > > On 8/21/22 12:30 PM, Clément Péron wrote: > > Add a simple cooling map for the GPU. > > It would be good to document where the trip point temperatures came from. If I remember correctly, I got those when getting the dtb from my Beelink GS1 when it was running vendor Android with the oldest Allwinner kernel. But now that you ask I double check with the "new" vendor kernel source: https://github.com/Allwinner-Homlet/H6-BSP4.9-linux/blob/master/arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi#L2034-L2053 And It's different from what I got in the past. The throttling starts when the GPU is already very hot (95, 100 and 105°C) and seems to only disable the highest frequency (756, 624 and 576MHz). Which let the GPU running at 0.91V @ 540MHz. Which is far to be the lowest possible consumption for the GPU (0.81V @ 336MHz would be better in the hottest situation) I'm not an expert but either I could just try to copy/paste the same behavior or try to have a more smooth cooling map (70, 85, 100°C). What do you think? Thanks, Clement > > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > > Acked-by: Samuel Holland <samuel@sholland.org> > > > --- > > arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 22 ++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi > > index 5a28303d3d4c..943ae5374dd6 100644 > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi > > @@ -186,6 +186,7 @@ gpu: gpu@1800000 { > > clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>; > > clock-names = "core", "bus"; > > resets = <&ccu RST_BUS_GPU>; > > + #cooling-cells = <2>; > > status = "disabled"; > > }; > > > > @@ -1075,6 +1076,27 @@ gpu-thermal { > > polling-delay-passive = <0>; > > polling-delay = <0>; > > thermal-sensors = <&ths 1>; > > + > > + trips { > > + gpu_alert: gpu-alert { > > + temperature = <85000>; > > + hysteresis = <2000>; > > + type = "passive"; > > + }; > > + > > + gpu-crit { > > + temperature = <100000>; > > + hysteresis = <0>; > > + type = "critical"; > > + }; > > + }; > > + > > + cooling-maps { > > + map0 { > > + trip = <&gpu_alert>; > > + cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; > > + }; > > + }; > > }; > > }; > > }; > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU 2022-08-27 16:49 ` Clément Péron @ 2022-09-04 3:24 ` Samuel Holland 0 siblings, 0 replies; 17+ messages in thread From: Samuel Holland @ 2022-09-04 3:24 UTC (permalink / raw) To: Clément Péron Cc: Chen-Yu Tsai, Jernej Skrabec, Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel On 8/27/22 11:49 AM, Clément Péron wrote: > Hi Samuel, > > On Tue, 23 Aug 2022 at 05:16, Samuel Holland <samuel@sholland.org> wrote: >> >> On 8/21/22 12:30 PM, Clément Péron wrote: >>> Add a simple cooling map for the GPU. >> >> It would be good to document where the trip point temperatures came from. > > If I remember correctly, I got those when getting the dtb from my > Beelink GS1 when it was running vendor Android with the oldest > Allwinner kernel. > > But now that you ask I double check with the "new" vendor kernel source: > https://github.com/Allwinner-Homlet/H6-BSP4.9-linux/blob/master/arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi#L2034-L2053 > > And It's different from what I got in the past. > The throttling starts when the GPU is already very hot (95, 100 and > 105°C) and seems to only disable the highest frequency (756, 624 and > 576MHz). > Which let the GPU running at 0.91V @ 540MHz. > > Which is far to be the lowest possible consumption for the GPU (0.81V > @ 336MHz would be better in the hottest situation) > > I'm not an expert but either I could just try to copy/paste the same > behavior or try to have a more smooth cooling map (70, 85, 100°C). > > What do you think? I would generally prefer something conservative, to be appropriate for most boards. But I do not have any strong opinion on the exact trip points used; I am fine with adjusting them. Mostly I want to know the source of the cooling map -- where the numbers came from, and what changes were made. That provides context if we want to change the map in the future, or if we run in to issues on some other board. Regards, Samuel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table 2022-08-21 17:30 [PATCH v2 0/4] Allwinner H6 GPU devfreq Clément Péron 2022-08-21 17:30 ` [PATCH v2 1/4] arm64: defconfig: Enable devfreq cooling device Clément Péron 2022-08-21 17:30 ` [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU Clément Péron @ 2022-08-21 17:30 ` Clément Péron 2022-08-23 3:13 ` Samuel Holland 2022-08-23 8:46 ` Krzysztof Kozlowski 2022-08-21 17:30 ` [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP Clément Péron 3 siblings, 2 replies; 17+ messages in thread From: Clément Péron @ 2022-08-21 17:30 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Clément Péron Add an Operating Performance Points table for the GPU to enable Dynamic Voltage & Frequency Scaling on the H6. The voltage range is set with minival voltage set to the target and the maximal voltage set to 1.2V. This allow DVFS framework to work properly on board with fixed regulator. Signed-off-by: Clément Péron <peron.clem@gmail.com> --- .../boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi new file mode 100644 index 000000000000..a66204243515 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// Copyright (C) 2022 Clément Péron <peron.clem@gmail.com> + +/ { + gpu_opp_table: gpu-opp-table { + compatible = "operating-points-v2"; + + opp@216000000 { + opp-hz = /bits/ 64 <216000000>; + opp-microvolt = <810000 810000 1200000>; + }; + + opp@264000000 { + opp-hz = /bits/ 64 <264000000>; + opp-microvolt = <810000 810000 1200000>; + }; + + opp@312000000 { + opp-hz = /bits/ 64 <312000000>; + opp-microvolt = <810000 810000 1200000>; + }; + + opp@336000000 { + opp-hz = /bits/ 64 <336000000>; + opp-microvolt = <810000 810000 1200000>; + }; + + opp@360000000 { + opp-hz = /bits/ 64 <360000000>; + opp-microvolt = <820000 820000 1200000>; + }; + + opp@384000000 { + opp-hz = /bits/ 64 <384000000>; + opp-microvolt = <830000 830000 1200000>; + }; + + opp@408000000 { + opp-hz = /bits/ 64 <408000000>; + opp-microvolt = <840000 840000 1200000>; + }; + + opp@420000000 { + opp-hz = /bits/ 64 <420000000>; + opp-microvolt = <850000 850000 1200000>; + }; + + opp@432000000 { + opp-hz = /bits/ 64 <432000000>; + opp-microvolt = <860000 860000 1200000>; + }; + + opp@456000000 { + opp-hz = /bits/ 64 <456000000>; + opp-microvolt = <870000 870000 1200000>; + }; + + opp@504000000 { + opp-hz = /bits/ 64 <504000000>; + opp-microvolt = <890000 890000 1200000>; + }; + + opp@540000000 { + opp-hz = /bits/ 64 <540000000>; + opp-microvolt = <910000 910000 1200000>; + }; + + opp@576000000 { + opp-hz = /bits/ 64 <576000000>; + opp-microvolt = <930000 930000 1200000>; + }; + + opp@624000000 { + opp-hz = /bits/ 64 <624000000>; + opp-microvolt = <950000 950000 1200000>; + }; + + opp@756000000 { + opp-hz = /bits/ 64 <756000000>; + opp-microvolt = <1040000 1040000 1200000>; + }; + }; + +}; + +&gpu { + operating-points-v2 = <&gpu_opp_table>; +}; -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table 2022-08-21 17:30 ` [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table Clément Péron @ 2022-08-23 3:13 ` Samuel Holland 2022-08-23 8:46 ` Krzysztof Kozlowski 1 sibling, 0 replies; 17+ messages in thread From: Samuel Holland @ 2022-08-23 3:13 UTC (permalink / raw) To: Clément Péron, Chen-Yu Tsai, Jernej Skrabec Cc: Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel On 8/21/22 12:30 PM, Clément Péron wrote: > Add an Operating Performance Points table for the GPU to > enable Dynamic Voltage & Frequency Scaling on the H6. > > The voltage range is set with minival voltage set to the target > and the maximal voltage set to 1.2V. This allow DVFS framework to > work properly on board with fixed regulator. > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > --- > .../boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi | 88 +++++++++++++++++++ > 1 file changed, 88 insertions(+) > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi > new file mode 100644 > index 000000000000..a66204243515 > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi > @@ -0,0 +1,88 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +// Copyright (C) 2022 Clément Péron <peron.clem@gmail.com> > + > +/ { > + gpu_opp_table: gpu-opp-table { > + compatible = "operating-points-v2"; > + > + opp@216000000 { Please fix the `make dtbs_check` warnings: arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dtb: gpu-opp-table: $nodename:0: 'gpu-opp-table' does not match '^opp-table(-[a-z0-9]+)?$' From schema: Documentation/devicetree/bindings/opp/opp-v2.yaml arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dtb: gpu-opp-table: Unevaluated properties are not allowed ('opp@216000000', 'opp@264000000', 'opp@312000000', 'opp@336000000', 'opp@360000000', 'opp@384000000', 'opp@408000000', 'opp@420000000', 'opp@432000000', 'opp@456000000', 'opp@504000000', 'opp@540000000', 'opp@576000000', 'opp@624000000', 'opp@756000000' were unexpected) From schema: Documentation/devicetree/bindings/opp/opp-v2.yaml Regards, Samuel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table 2022-08-21 17:30 ` [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table Clément Péron 2022-08-23 3:13 ` Samuel Holland @ 2022-08-23 8:46 ` Krzysztof Kozlowski 1 sibling, 0 replies; 17+ messages in thread From: Krzysztof Kozlowski @ 2022-08-23 8:46 UTC (permalink / raw) To: Clément Péron, Rob Herring, Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel On 21/08/2022 20:30, Clément Péron wrote: > Add an Operating Performance Points table for the GPU to > enable Dynamic Voltage & Frequency Scaling on the H6. > > The voltage range is set with minival voltage set to the target > and the maximal voltage set to 1.2V. This allow DVFS framework to > work properly on board with fixed regulator. > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > --- > .../boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi | 88 +++++++++++++++++++ > 1 file changed, 88 insertions(+) > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi > new file mode 100644 > index 000000000000..a66204243515 > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi > @@ -0,0 +1,88 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +// Copyright (C) 2022 Clément Péron <peron.clem@gmail.com> > + > +/ { > + gpu_opp_table: gpu-opp-table { I don't think you tested the change with dtbs_check. This does not match the bindings. > + compatible = "operating-points-v2"; > + > + opp@216000000 { > + opp-hz = /bits/ 64 <216000000>; > + opp-microvolt = <810000 810000 1200000>; > + }; > + > + opp@264000000 { > + opp-hz = /bits/ 64 <264000000>; > + opp-microvolt = <810000 810000 1200000>; > + }; > + > + opp@312000000 { > + opp-hz = /bits/ 64 <312000000>; > + opp-microvolt = <810000 810000 1200000>; > + }; > + > + opp@336000000 { > + opp-hz = /bits/ 64 <336000000>; > + opp-microvolt = <810000 810000 1200000>; > + }; > + > + opp@360000000 { > + opp-hz = /bits/ 64 <360000000>; > + opp-microvolt = <820000 820000 1200000>; > + }; > + > + opp@384000000 { > + opp-hz = /bits/ 64 <384000000>; > + opp-microvolt = <830000 830000 1200000>; > + }; > + > + opp@408000000 { > + opp-hz = /bits/ 64 <408000000>; > + opp-microvolt = <840000 840000 1200000>; > + }; > + > + opp@420000000 { > + opp-hz = /bits/ 64 <420000000>; > + opp-microvolt = <850000 850000 1200000>; > + }; > + > + opp@432000000 { > + opp-hz = /bits/ 64 <432000000>; > + opp-microvolt = <860000 860000 1200000>; > + }; > + > + opp@456000000 { > + opp-hz = /bits/ 64 <456000000>; > + opp-microvolt = <870000 870000 1200000>; > + }; > + > + opp@504000000 { > + opp-hz = /bits/ 64 <504000000>; > + opp-microvolt = <890000 890000 1200000>; > + }; > + > + opp@540000000 { > + opp-hz = /bits/ 64 <540000000>; > + opp-microvolt = <910000 910000 1200000>; > + }; > + > + opp@576000000 { > + opp-hz = /bits/ 64 <576000000>; > + opp-microvolt = <930000 930000 1200000>; > + }; > + > + opp@624000000 { > + opp-hz = /bits/ 64 <624000000>; > + opp-microvolt = <950000 950000 1200000>; > + }; > + > + opp@756000000 { > + opp-hz = /bits/ 64 <756000000>; > + opp-microvolt = <1040000 1040000 1200000>; > + }; > + }; > + No need for such blank lines. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP 2022-08-21 17:30 [PATCH v2 0/4] Allwinner H6 GPU devfreq Clément Péron ` (2 preceding siblings ...) 2022-08-21 17:30 ` [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table Clément Péron @ 2022-08-21 17:30 ` Clément Péron 2022-08-23 3:07 ` Samuel Holland 3 siblings, 1 reply; 17+ messages in thread From: Clément Péron @ 2022-08-21 17:30 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Clément Péron Enable GPU OPP table for Beelink GS1 Signed-off-by: Clément Péron <peron.clem@gmail.com> --- arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts index 6249e9e02928..20fc0584d1c6 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts @@ -5,6 +5,7 @@ #include "sun50i-h6.dtsi" #include "sun50i-h6-cpu-opp.dtsi" +#include "sun50i-h6-gpu-opp.dtsi" #include <dt-bindings/gpio/gpio.h> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { }; reg_dcdcc: dcdcc { + regulator-always-on; regulator-enable-ramp-delay = <32000>; regulator-min-microvolt = <810000>; regulator-max-microvolt = <1080000>; -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP 2022-08-21 17:30 ` [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP Clément Péron @ 2022-08-23 3:07 ` Samuel Holland 2022-09-03 18:41 ` Clément Péron 0 siblings, 1 reply; 17+ messages in thread From: Samuel Holland @ 2022-08-23 3:07 UTC (permalink / raw) To: Clément Péron, Chen-Yu Tsai, Jernej Skrabec Cc: Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel On 8/21/22 12:30 PM, Clément Péron wrote: > Enable GPU OPP table for Beelink GS1 > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > --- > arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > index 6249e9e02928..20fc0584d1c6 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > @@ -5,6 +5,7 @@ > > #include "sun50i-h6.dtsi" > #include "sun50i-h6-cpu-opp.dtsi" > +#include "sun50i-h6-gpu-opp.dtsi" > > #include <dt-bindings/gpio/gpio.h> > > @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > }; > > reg_dcdcc: dcdcc { > + regulator-always-on; Why is this necessary? This file already has: &gpu { mali-supply = <®_dcdcc>; status = "okay"; }; So there is a consumer for this regulator. Regards, Samuel > regulator-enable-ramp-delay = <32000>; > regulator-min-microvolt = <810000>; > regulator-max-microvolt = <1080000>; > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP 2022-08-23 3:07 ` Samuel Holland @ 2022-09-03 18:41 ` Clément Péron 2022-09-03 19:06 ` Clément Péron 0 siblings, 1 reply; 17+ messages in thread From: Clément Péron @ 2022-09-03 18:41 UTC (permalink / raw) To: Samuel Holland Cc: Chen-Yu Tsai, Jernej Skrabec, Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel Hi Samuel, On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > > On 8/21/22 12:30 PM, Clément Péron wrote: > > Enable GPU OPP table for Beelink GS1 > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > > --- > > arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > index 6249e9e02928..20fc0584d1c6 100644 > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > @@ -5,6 +5,7 @@ > > > > #include "sun50i-h6.dtsi" > > #include "sun50i-h6-cpu-opp.dtsi" > > +#include "sun50i-h6-gpu-opp.dtsi" > > > > #include <dt-bindings/gpio/gpio.h> > > > > @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > > }; > > > > reg_dcdcc: dcdcc { > > + regulator-always-on; > > Why is this necessary? This file already has: This is a relica from the first serie at this time the OPP doesn't properly enable the regulator it's now fixed since: https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ I will drop it. Thanks for the review. Regards, Clement > > &gpu { > mali-supply = <®_dcdcc>; > status = "okay"; > }; > > So there is a consumer for this regulator. > > Regards, > Samuel > > > regulator-enable-ramp-delay = <32000>; > > regulator-min-microvolt = <810000>; > > regulator-max-microvolt = <1080000>; > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP 2022-09-03 18:41 ` Clément Péron @ 2022-09-03 19:06 ` Clément Péron 2022-09-04 3:32 ` Samuel Holland 0 siblings, 1 reply; 17+ messages in thread From: Clément Péron @ 2022-09-03 19:06 UTC (permalink / raw) To: Samuel Holland Cc: Chen-Yu Tsai, Jernej Skrabec, Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel Hi Samuel, On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: > > Hi Samuel, > > On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > > > > On 8/21/22 12:30 PM, Clément Péron wrote: > > > Enable GPU OPP table for Beelink GS1 > > > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > > > --- > > > arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > > index 6249e9e02928..20fc0584d1c6 100644 > > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > > @@ -5,6 +5,7 @@ > > > > > > #include "sun50i-h6.dtsi" > > > #include "sun50i-h6-cpu-opp.dtsi" > > > +#include "sun50i-h6-gpu-opp.dtsi" > > > > > > #include <dt-bindings/gpio/gpio.h> > > > > > > @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > > > }; > > > > > > reg_dcdcc: dcdcc { > > > + regulator-always-on; > > > > Why is this necessary? This file already has: > > This is a relica from the first serie at this time the OPP doesn't > properly enable the regulator it's now fixed since: > https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ > > I will drop it. After retesting it, it seems to still no take the regulator and make my board hang... :( [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI I2C bus driver [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 1 [ 17.877443] Console: switching to colour frame buffer device 320x90 [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb frame buffer device [ 17.961881] platform 5200000.usb: deferred probe pending >>>> [ 31.710731] vdd-gpu: disabling <<<<< > > Thanks for the review. > Regards, > Clement > > > > > > > > &gpu { > > mali-supply = <®_dcdcc>; > > status = "okay"; > > }; > > > > So there is a consumer for this regulator. > > > > Regards, > > Samuel > > > > > regulator-enable-ramp-delay = <32000>; > > > regulator-min-microvolt = <810000>; > > > regulator-max-microvolt = <1080000>; > > > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP 2022-09-03 19:06 ` Clément Péron @ 2022-09-04 3:32 ` Samuel Holland 2022-09-04 14:23 ` Clément Péron 0 siblings, 1 reply; 17+ messages in thread From: Samuel Holland @ 2022-09-04 3:32 UTC (permalink / raw) To: Clément Péron Cc: Chen-Yu Tsai, Jernej Skrabec, Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel On 9/3/22 2:06 PM, Clément Péron wrote: > Hi Samuel, > > On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: >> >> Hi Samuel, >> >> On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: >>> >>> On 8/21/22 12:30 PM, Clément Péron wrote: >>>> Enable GPU OPP table for Beelink GS1 >>>> >>>> Signed-off-by: Clément Péron <peron.clem@gmail.com> >>>> --- >>>> arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts >>>> index 6249e9e02928..20fc0584d1c6 100644 >>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts >>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts >>>> @@ -5,6 +5,7 @@ >>>> >>>> #include "sun50i-h6.dtsi" >>>> #include "sun50i-h6-cpu-opp.dtsi" >>>> +#include "sun50i-h6-gpu-opp.dtsi" >>>> >>>> #include <dt-bindings/gpio/gpio.h> >>>> >>>> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { >>>> }; >>>> >>>> reg_dcdcc: dcdcc { >>>> + regulator-always-on; >>> >>> Why is this necessary? This file already has: >> >> This is a relica from the first serie at this time the OPP doesn't >> properly enable the regulator it's now fixed since: >> https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ This should have nothing to do with the OPP driver; lima already has a "mali" regulator consumer that should be enabled whenever the GPU is in use. _Adding_ a regulator consumer from the OPP driver should not somehow decrease the refcount. >> I will drop it. > > After retesting it, it seems to still no take the regulator and make > my board hang... :( > > [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI > I2C bus driver > [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops > sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) > [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for > display-engine on minor 1 > [ 17.877443] Console: switching to colour frame buffer device 320x90 > [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb > frame buffer device > [ 17.961881] platform 5200000.usb: deferred probe pending >>>>> [ 31.710731] vdd-gpu: disabling <<<<< Are there any messages from lima, especially about mali-supply? Can you provide regulators_summary from debugfs? Regards, Samuel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP 2022-09-04 3:32 ` Samuel Holland @ 2022-09-04 14:23 ` Clément Péron 2022-09-04 14:29 ` Clément Péron 0 siblings, 1 reply; 17+ messages in thread From: Clément Péron @ 2022-09-04 14:23 UTC (permalink / raw) To: Samuel Holland Cc: Chen-Yu Tsai, Jernej Skrabec, Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel Hi Samuel, On Sun, 4 Sept 2022 at 05:32, Samuel Holland <samuel@sholland.org> wrote: > > On 9/3/22 2:06 PM, Clément Péron wrote: > > Hi Samuel, > > > > On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: > >> > >> Hi Samuel, > >> > >> On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > >>> > >>> On 8/21/22 12:30 PM, Clément Péron wrote: > >>>> Enable GPU OPP table for Beelink GS1 > >>>> > >>>> Signed-off-by: Clément Péron <peron.clem@gmail.com> > >>>> --- > >>>> arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > >>>> 1 file changed, 2 insertions(+) > >>>> > >>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > >>>> index 6249e9e02928..20fc0584d1c6 100644 > >>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > >>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > >>>> @@ -5,6 +5,7 @@ > >>>> > >>>> #include "sun50i-h6.dtsi" > >>>> #include "sun50i-h6-cpu-opp.dtsi" > >>>> +#include "sun50i-h6-gpu-opp.dtsi" > >>>> > >>>> #include <dt-bindings/gpio/gpio.h> > >>>> > >>>> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > >>>> }; > >>>> > >>>> reg_dcdcc: dcdcc { > >>>> + regulator-always-on; > >>> > >>> Why is this necessary? This file already has: > >> > >> This is a relica from the first serie at this time the OPP doesn't > >> properly enable the regulator it's now fixed since: > >> https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ > > This should have nothing to do with the OPP driver; lima already has a "mali" > regulator consumer that should be enabled whenever the GPU is in use. Okay so you propose to add a regulator_enable() in the panfrost drivers in addition to the OPP consumer right? I will send a patch to add this and see what's panfrost maintainer think about it. Regards, Clement > > _Adding_ a regulator consumer from the OPP driver should not somehow decrease > the refcount. > > >> I will drop it. > > > > After retesting it, it seems to still no take the regulator and make > > my board hang... :( > > > > [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI > > I2C bus driver > > [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops > > sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) > > [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for > > display-engine on minor 1 > > [ 17.877443] Console: switching to colour frame buffer device 320x90 > > [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb > > frame buffer device > > [ 17.961881] platform 5200000.usb: deferred probe pending > >>>>> [ 31.710731] vdd-gpu: disabling <<<<< > > Are there any messages from lima, especially about mali-supply? Can you provide > regulators_summary from debugfs? > > Regards, > Samuel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP 2022-09-04 14:23 ` Clément Péron @ 2022-09-04 14:29 ` Clément Péron 0 siblings, 0 replies; 17+ messages in thread From: Clément Péron @ 2022-09-04 14:29 UTC (permalink / raw) To: Samuel Holland Cc: Chen-Yu Tsai, Jernej Skrabec, Rob Herring, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel Hi Samuel, On Sun, 4 Sept 2022 at 16:23, Clément Péron <peron.clem@gmail.com> wrote: > > Hi Samuel, > > On Sun, 4 Sept 2022 at 05:32, Samuel Holland <samuel@sholland.org> wrote: > > > > On 9/3/22 2:06 PM, Clément Péron wrote: > > > Hi Samuel, > > > > > > On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: > > >> > > >> Hi Samuel, > > >> > > >> On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > > >>> > > >>> On 8/21/22 12:30 PM, Clément Péron wrote: > > >>>> Enable GPU OPP table for Beelink GS1 > > >>>> > > >>>> Signed-off-by: Clément Péron <peron.clem@gmail.com> > > >>>> --- > > >>>> arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > > >>>> 1 file changed, 2 insertions(+) > > >>>> > > >>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > >>>> index 6249e9e02928..20fc0584d1c6 100644 > > >>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > >>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > >>>> @@ -5,6 +5,7 @@ > > >>>> > > >>>> #include "sun50i-h6.dtsi" > > >>>> #include "sun50i-h6-cpu-opp.dtsi" > > >>>> +#include "sun50i-h6-gpu-opp.dtsi" > > >>>> > > >>>> #include <dt-bindings/gpio/gpio.h> > > >>>> > > >>>> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > > >>>> }; > > >>>> > > >>>> reg_dcdcc: dcdcc { > > >>>> + regulator-always-on; > > >>> > > >>> Why is this necessary? This file already has: > > >> > > >> This is a relica from the first serie at this time the OPP doesn't > > >> properly enable the regulator it's now fixed since: > > >> https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ > > > > This should have nothing to do with the OPP driver; lima already has a "mali" > > regulator consumer that should be enabled whenever the GPU is in use. > > Okay so you propose to add a regulator_enable() in the panfrost > drivers in addition to the OPP consumer right? After a quick look it seems that it's explicit that we don't want two consumer for the same regulator and OPP should handle the enabling of the regulator. /* OPP will handle regulators */ if (!pfdev->pfdevfreq.opp_of_table_added) { err = panfrost_regulator_init(pfdev); if (err) goto out_devfreq; } > > I will send a patch to add this and see what's panfrost maintainer > think about it. > > Regards, > Clement > > > > > _Adding_ a regulator consumer from the OPP driver should not somehow decrease > > the refcount. > > > > >> I will drop it. > > > > > > After retesting it, it seems to still no take the regulator and make > > > my board hang... :( > > > > > > [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI > > > I2C bus driver > > > [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops > > > sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) > > > [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for > > > display-engine on minor 1 > > > [ 17.877443] Console: switching to colour frame buffer device 320x90 > > > [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb > > > frame buffer device > > > [ 17.961881] platform 5200000.usb: deferred probe pending > > >>>>> [ 31.710731] vdd-gpu: disabling <<<<< > > > > Are there any messages from lima, especially about mali-supply? Can you provide > > regulators_summary from debugfs? > > > > Regards, > > Samuel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2022-09-04 14:30 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-08-21 17:30 [PATCH v2 0/4] Allwinner H6 GPU devfreq Clément Péron 2022-08-21 17:30 ` [PATCH v2 1/4] arm64: defconfig: Enable devfreq cooling device Clément Péron 2022-08-25 20:53 ` Jernej Škrabec 2022-08-21 17:30 ` [PATCH v2 2/4] arm64: dts: allwinner: h6: Add cooling map for GPU Clément Péron 2022-08-23 3:16 ` Samuel Holland 2022-08-27 16:49 ` Clément Péron 2022-09-04 3:24 ` Samuel Holland 2022-08-21 17:30 ` [PATCH v2 3/4] arm64: dts: allwinner: h6: Add GPU OPP table Clément Péron 2022-08-23 3:13 ` Samuel Holland 2022-08-23 8:46 ` Krzysztof Kozlowski 2022-08-21 17:30 ` [PATCH v2 4/4] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP Clément Péron 2022-08-23 3:07 ` Samuel Holland 2022-09-03 18:41 ` Clément Péron 2022-09-03 19:06 ` Clément Péron 2022-09-04 3:32 ` Samuel Holland 2022-09-04 14:23 ` Clément Péron 2022-09-04 14:29 ` Clément Péron
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).