From: Igor Paunovic <royalnet026@gmail.com>
To: Jonas Karlman <jonas@kwiboo.se>
Cc: "Igor Paunovic" <royalnet026@gmail.com>,
"Hüseyin BIYIK" <boogiepop@gmx.com>,
"Nicolas Dufresne" <nicolas@ndufresne.ca>,
"Tomeu Vizoso" <tomeu@tomeuvizoso.net>,
"Heiko Stuebner" <heiko@sntech.de>,
"Jiaxing Hu" <gahing@gahingwoo.com>,
"Oded Gabbay" <ogabbay@kernel.org>,
dri-devel@lists.freedesktop.org,
linux-rockchip@lists.infradead.org
Subject: Re: [RFC] accel/rocket: DVFS on RK3588 - a hardware constraint, and some numbers
Date: Wed, 19 Aug 2026 20:48:00 +0200 [thread overview]
Message-ID: <20260819184807.6665-1-royalnet026@gmail.com> (raw)
In-Reply-To: <82c8b17e-7215-45ea-84d1-9991ba6fb541@kwiboo.se>
Hi Jonas,
On 8/19/2026 6:20 PM, Jonas Karlman wrote:
> Correct, the power domain must be powered on when PVTPLL is used, I
> thought this had already been concluded. It is hard to fully keep track
> when context keeps being removed in each new mail ;-)
Fair point taken - I will keep more of the quoted context from here on.
And yes: what the reset run added over the earlier conclusion is only
the differential part (bus clocks measurably contribute nothing), plus
that the failure is an immediate firmware-level reset rather than a
recoverable error.
> It is probably not just set_rate, with PD and/or CLKs disabled just
> reading clk_summary to read SCMI clock rate can issue SError or a freeze.
That is a very useful data point - it widens the hazard from "rate
changes" to "any SCMI clock op", so the series' guards have to cover
get_rate paths too. It will be quoted in the cover letter.
> To my knowledge there are status regs that can be used to get the
> measured rate of the PVTPLL, at least upstream TF-A have a commit [3]
> for RK3588 that changes to report the measured rate when PVTPLL mode is
> used.
This was exactly the missing piece - thank you. I tried it from the
kernel side tonight, and here is an honest negative result: with the
ring demonstrably live (CON74 bit0=1, CON0..2 readback matching the
TF-A table for 1 GHz), the domain on, pclk_npu_root held, all three
NPU PVTM gates in CLKGATE_CON(29) opened (bits 12/14/15), udelay(2)
before each read, and even with the whole set_rate sequence re-run by
the firmware after the gates were opened - NPU GRF+0x24 reads a hard
0x00000000 from EL1, twenty samples per arm, four arms.
So a question for you and for Hüseyin (added to Cc): is that
STATUS register perhaps readable from EL3 only, with EL1 reads as
zero? That would explain everything, since [3] reads it inside the
firmware. If so, the clean path is the one [3] already implements -
after my trip I will cherry-pick it into the BL31 my board runs (it is
plain upstream v2.12 there) and re-measure through plain clk_get_rate,
which also spares the kernel any GRF access at all.
[3] https://git.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a.git/+/d2d6928641bacfa2370a9bb38cdddad229d99ad6
Regards,
Igor
next prev parent reply other threads:[~2026-08-19 18:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-01 13:16 [RFC] accel/rocket: DVFS on RK3588 - a hardware constraint, and some numbers Igor Paunovic
2026-08-01 19:32 ` Jiaxing Hu
2026-08-02 12:04 ` Igor Paunovic
2026-08-15 18:24 ` Tomeu Vizoso
2026-08-17 18:22 ` Nicolas Dufresne
2026-08-18 7:27 ` Igor Paunovic
2026-08-18 12:12 ` Jonas Karlman
2026-08-18 12:30 ` Jonas Karlman
2026-08-19 5:52 ` Igor Paunovic
2026-08-19 9:40 ` Jonas Karlman
2026-08-19 12:59 ` Igor Paunovic
2026-08-19 16:20 ` Jonas Karlman
2026-08-19 18:48 ` Igor Paunovic [this message]
2026-08-19 20:07 ` Hüseyin BIYIK
2026-09-02 11:04 ` Igor Paunovic
2026-09-03 9:16 ` Igor Paunovic
[not found] ` <2f88072c-6aa3-4294-a35d-722d1c7a405c@email.android.com>
2026-09-03 18:51 ` Igor Paunovic
2026-09-04 11:08 ` Jiaxing Hu
2026-09-04 12:46 ` Igor Paunovic
2026-09-05 5:13 ` Jiaxing Hu
2026-09-05 7:01 ` Igor Paunovic
2026-08-19 18:47 ` Nicolas Dufresne
2026-09-04 11:19 ` Jiaxing Hu
[not found] <DKDOBW9CJ2Y3.10EEIZDTXPYJZ@cknow-tech.com>
2026-08-01 14:40 ` Igor Paunovic
2026-08-01 16:29 ` Diederik de Haas
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=20260819184807.6665-1-royalnet026@gmail.com \
--to=royalnet026@gmail.com \
--cc=boogiepop@gmx.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=gahing@gahingwoo.com \
--cc=heiko@sntech.de \
--cc=jonas@kwiboo.se \
--cc=linux-rockchip@lists.infradead.org \
--cc=nicolas@ndufresne.ca \
--cc=ogabbay@kernel.org \
--cc=tomeu@tomeuvizoso.net \
/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