From: "Jernej Škrabec" <jernej.skrabec@gmail.com>
To: "Clément Péron" <peron.clem@gmail.com>
Cc: Chen-Yu Tsai <wens@csie.org>,
Samuel Holland <samuel@sholland.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
devicetree <devicetree@vger.kernel.org>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
linux-sunxi@lists.linux.dev,
linux-kernel <linux-kernel@vger.kernel.org>,
dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: Re: [PATCH v4 3/5] arm64: dts: allwinner: h6: Add GPU OPP table
Date: Thu, 08 Sep 2022 18:26:31 +0200 [thread overview]
Message-ID: <1800669.atdPhlSkOF@kista> (raw)
In-Reply-To: <CAJiuCceZg_6p4yo89e0X3fD9aXFs9Xik8b8KUM+Psdy_4paKPw@mail.gmail.com>
Dne torek, 06. september 2022 ob 21:26:34 CEST je Clément Péron napisal(a):
> Hi Jernej,
>
> On Tue, 6 Sept 2022 at 21:10, Jernej Škrabec <jernej.skrabec@gmail.com>
wrote:
> > Dne torek, 06. september 2022 ob 17:30:32 CEST je Clément Péron
napisal(a):
> > > Add an Operating Performance Points table for the GPU to
> > > enable Dynamic Voltage & Frequency Scaling on the H6.
> > >
> > > The voltage range is set with minimal 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 | 87 +++++++++++++++++++
> > > 1 file changed, 87 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..b48049c4fc85
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi
> > > @@ -0,0 +1,87 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +// Copyright (C) 2022 Clément Péron <peron.clem@gmail.com>
> > > +
> > > +/ {
> > > + gpu_opp_table: opp-table-gpu {
> > > + 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>;
> > > + };
> >
> > As mentioned in clock patch review, rates below 288 MHz are deemed
> > unstable on GPU PLL by vendor GPU kernel driver. At least in the BSP
> > version that I have. Did you test these points? If not, better to drop
> > them.
>
> I changed the governor to userspace and set the freq to 216MHz / 264MHz
> Run glmark2 and didn't observe any glitch nor issue.
>
> I'm not sure if it's enough to say it's stable but I didn't observe
> any strange behavior.
Ok then.
Forgot to ask, where did you get 1.2 V as an upper limit? H6 datasheet lists
max. GPU voltage as 1.08 V.
Best regards,
Jernej
>
> Regards,
> Clement
>
> > Best regards,
> > Jernej
> >
> > > +
> > > + 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
WARNING: multiple messages have this Message-ID (diff)
From: "Jernej Škrabec" <jernej.skrabec@gmail.com>
To: "Clément Péron" <peron.clem@gmail.com>
Cc: Chen-Yu Tsai <wens@csie.org>,
Samuel Holland <samuel@sholland.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
devicetree <devicetree@vger.kernel.org>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
linux-sunxi@lists.linux.dev,
linux-kernel <linux-kernel@vger.kernel.org>,
dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: Re: [PATCH v4 3/5] arm64: dts: allwinner: h6: Add GPU OPP table
Date: Thu, 08 Sep 2022 18:26:31 +0200 [thread overview]
Message-ID: <1800669.atdPhlSkOF@kista> (raw)
In-Reply-To: <CAJiuCceZg_6p4yo89e0X3fD9aXFs9Xik8b8KUM+Psdy_4paKPw@mail.gmail.com>
Dne torek, 06. september 2022 ob 21:26:34 CEST je Clément Péron napisal(a):
> Hi Jernej,
>
> On Tue, 6 Sept 2022 at 21:10, Jernej Škrabec <jernej.skrabec@gmail.com>
wrote:
> > Dne torek, 06. september 2022 ob 17:30:32 CEST je Clément Péron
napisal(a):
> > > Add an Operating Performance Points table for the GPU to
> > > enable Dynamic Voltage & Frequency Scaling on the H6.
> > >
> > > The voltage range is set with minimal 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 | 87 +++++++++++++++++++
> > > 1 file changed, 87 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..b48049c4fc85
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi
> > > @@ -0,0 +1,87 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +// Copyright (C) 2022 Clément Péron <peron.clem@gmail.com>
> > > +
> > > +/ {
> > > + gpu_opp_table: opp-table-gpu {
> > > + 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>;
> > > + };
> >
> > As mentioned in clock patch review, rates below 288 MHz are deemed
> > unstable on GPU PLL by vendor GPU kernel driver. At least in the BSP
> > version that I have. Did you test these points? If not, better to drop
> > them.
>
> I changed the governor to userspace and set the freq to 216MHz / 264MHz
> Run glmark2 and didn't observe any glitch nor issue.
>
> I'm not sure if it's enough to say it's stable but I didn't observe
> any strange behavior.
Ok then.
Forgot to ask, where did you get 1.2 V as an upper limit? H6 datasheet lists
max. GPU voltage as 1.08 V.
Best regards,
Jernej
>
> Regards,
> Clement
>
> > Best regards,
> > Jernej
> >
> > > +
> > > + 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
WARNING: multiple messages have this Message-ID (diff)
From: "Jernej Škrabec" <jernej.skrabec@gmail.com>
To: "Clément Péron" <peron.clem@gmail.com>
Cc: devicetree <devicetree@vger.kernel.org>,
Samuel Holland <samuel@sholland.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
dri-devel <dri-devel@lists.freedesktop.org>,
Chen-Yu Tsai <wens@csie.org>, Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
linux-sunxi@lists.linux.dev,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: Re: [PATCH v4 3/5] arm64: dts: allwinner: h6: Add GPU OPP table
Date: Thu, 08 Sep 2022 18:26:31 +0200 [thread overview]
Message-ID: <1800669.atdPhlSkOF@kista> (raw)
In-Reply-To: <CAJiuCceZg_6p4yo89e0X3fD9aXFs9Xik8b8KUM+Psdy_4paKPw@mail.gmail.com>
Dne torek, 06. september 2022 ob 21:26:34 CEST je Clément Péron napisal(a):
> Hi Jernej,
>
> On Tue, 6 Sept 2022 at 21:10, Jernej Škrabec <jernej.skrabec@gmail.com>
wrote:
> > Dne torek, 06. september 2022 ob 17:30:32 CEST je Clément Péron
napisal(a):
> > > Add an Operating Performance Points table for the GPU to
> > > enable Dynamic Voltage & Frequency Scaling on the H6.
> > >
> > > The voltage range is set with minimal 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 | 87 +++++++++++++++++++
> > > 1 file changed, 87 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..b48049c4fc85
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-gpu-opp.dtsi
> > > @@ -0,0 +1,87 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +// Copyright (C) 2022 Clément Péron <peron.clem@gmail.com>
> > > +
> > > +/ {
> > > + gpu_opp_table: opp-table-gpu {
> > > + 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>;
> > > + };
> >
> > As mentioned in clock patch review, rates below 288 MHz are deemed
> > unstable on GPU PLL by vendor GPU kernel driver. At least in the BSP
> > version that I have. Did you test these points? If not, better to drop
> > them.
>
> I changed the governor to userspace and set the freq to 216MHz / 264MHz
> Run glmark2 and didn't observe any glitch nor issue.
>
> I'm not sure if it's enough to say it's stable but I didn't observe
> any strange behavior.
Ok then.
Forgot to ask, where did you get 1.2 V as an upper limit? H6 datasheet lists
max. GPU voltage as 1.08 V.
Best regards,
Jernej
>
> Regards,
> Clement
>
> > Best regards,
> > Jernej
> >
> > > +
> > > + 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
next prev parent reply other threads:[~2022-09-08 16:26 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-06 15:30 [PATCH v4 0/5] Allwinner H6 GPU devfreq Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` [PATCH v4 1/5] arm64: defconfig: Enable devfreq cooling device Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` [PATCH v4 2/5] arm64: dts: allwinner: h6: Add cooling map for GPU Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-08 16:22 ` Jernej Škrabec
2022-09-08 16:22 ` Jernej Škrabec
2022-09-08 16:22 ` Jernej Škrabec
2022-09-06 15:30 ` [PATCH v4 3/5] arm64: dts: allwinner: h6: Add GPU OPP table Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 19:10 ` Jernej Škrabec
2022-09-06 19:10 ` Jernej Škrabec
2022-09-06 19:10 ` Jernej Škrabec
2022-09-06 19:26 ` Clément Péron
2022-09-06 19:26 ` Clément Péron
2022-09-06 19:26 ` Clément Péron
2022-09-08 16:26 ` Jernej Škrabec [this message]
2022-09-08 16:26 ` Jernej Škrabec
2022-09-08 16:26 ` Jernej Škrabec
2022-09-08 16:51 ` Jernej Škrabec
2022-09-08 16:51 ` Jernej Škrabec
2022-09-08 16:51 ` Jernej Škrabec
2022-09-06 15:30 ` [PATCH v4 4/5] drm/panfrost: devfreq: set opp to the recommended one to configure regulator Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-08 10:03 ` Steven Price
2022-09-08 10:03 ` Steven Price
2022-09-08 10:03 ` Steven Price
2022-09-06 15:30 ` [PATCH v4 5/5] arm64: dts: allwinner: beelink-gs1: Enable GPU OPP Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-06 15:30 ` Clément Péron
2022-09-08 16:27 ` Jernej Škrabec
2022-09-08 16:27 ` Jernej Škrabec
2022-09-08 16:27 ` Jernej Škrabec
2022-09-08 20:12 ` [PATCH v4 0/5] Allwinner H6 GPU devfreq Jernej Škrabec
2022-09-08 20:12 ` Jernej Škrabec
2022-09-08 20:12 ` Jernej Škrabec
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1800669.atdPhlSkOF@kista \
--to=jernej.skrabec@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=peron.clem@gmail.com \
--cc=robh+dt@kernel.org \
--cc=samuel@sholland.org \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.