linux-sunxi.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
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: Re: [PATCH v4 3/5] arm64: dts: allwinner: h6: Add GPU OPP table
Date: Thu, 08 Sep 2022 18:51:38 +0200	[thread overview]
Message-ID: <2313716.NG923GbCHz@kista> (raw)
In-Reply-To: <1800669.atdPhlSkOF@kista>

Dne četrtek, 08. september 2022 ob 18:26:31 CEST je Jernej Škrabec napisal(a):
> 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.

To answer my own question, absolute max. voltage is 1.3 V, so 1.2 V is still 
somewhat acceptable and in practice, fixed regulator on Tanix TX6 board is 
around 1.12 V. Boards with PMIC can set lower voltage anyway.

All good.
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
 
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



  reply	other threads:[~2022-09-08 16:51 UTC|newest]

Thread overview: 14+ 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 ` [PATCH v4 1/5] arm64: defconfig: Enable devfreq cooling device 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-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 19:10   ` Jernej Škrabec
2022-09-06 19:26     ` Clément Péron
2022-09-08 16:26       ` Jernej Škrabec
2022-09-08 16:51         ` Jernej Škrabec [this message]
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-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-08 16:27   ` Jernej Škrabec
2022-09-08 20:12 ` [PATCH v4 0/5] Allwinner H6 GPU devfreq 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=2313716.NG923GbCHz@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 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).