From: sashiko-bot@kernel.org
To: "Dave Airlie" <airlied@redhat.com>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"FUJITA Tomonori" <fujita.tomonori@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Alice Ryhl" <aliceryhl@google.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Daniel Almeida" <daniel.almeida@collabora.com>,
"Alexandre Courbot" <acourbot@nvidia.com>
Cc: nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v6 2/2] gpu: nova-core: add support for GPU timer block. (v6)
Date: Mon, 09 Nov 2026 02:09:46 +0000 [thread overview]
Message-ID: <sashiko-outbox-204344@kernel.org> (raw)
In-Reply-To: <20261109-nova-timer-v6-2-5544a3bd8b28@redhat.com>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] gpu: nova-core: wrapped timer offset programmed in
set_sys_timer_offset()
--
commit 7d2284f17f67e098294d4252bcce87d29a2a59b1
Author: Dave Airlie <airlied@redhat.com>
gpu: nova-core: add support for GPU timer block. (v6)
This commit adds GPU timer block initialization for Turing through
Blackwell GPUs to compute the system timer offset for GSP initialization,
including a GH100 FSP ucode version check for bug 3957833.
> diff --git a/drivers/gpu/nova-core/timer/hal/gh100.rs b/drivers/gpu/nova-core/timer/hal/gh100.rs
> new file mode 100644
> index 0000000000000..154c7a301a0c1
> --- /dev/null
> +++ b/drivers/gpu/nova-core/timer/hal/gh100.rs
[ ... ]
> +fn set_sys_timer_offset(bar: Bar0<'_>, fsp: &Fsp<'_>, time_ns: u64) -> Result<u64> {
> + let sec_timer_ns = sec_timer_read(bar);
> +
> + let sys_timer_offset_ns = time_ns.wrapping_sub(sec_timer_ns);
> +
> + // Don't set the timer offset registers on buggy firmware
> + if !fsp.is_bug_3957833_affected(bar) {
> + bar.write_reg(NV_PGC6_SCI_SYS_TIMER_OFFSET_1::from_nsec(
> + sys_timer_offset_ns,
> + ));
> + bar.write_reg(
> + NV_PGC6_SCI_SYS_TIMER_OFFSET_0::from_nsec(sys_timer_offset_ns).with_update(true),
> + );
> + }
> + Ok(sys_timer_offset_ns)
> +}
[Severity: Medium]
As reported by Alexandre Courbot on v4 [1], can set_sys_timer_offset()
program a wrapped value into NV_PGC6_SCI_SYS_TIMER_OFFSET_1 and
NV_PGC6_SCI_SYS_TIMER_OFFSET_0 when sec_timer_ns exceeds time_ns?
If the host wall-clock time is behind the GPU secure timer, wrapping_sub()
produces a large wrapped u64 that nsec_hi() truncates to 61 bits when
writing the hardware offset registers while returning the unmasked 64-bit
value for GSP initialization. In OpenRM, tmrSetCurrentTime_GH100 verifies
secTimerNs < osTimeNs and returns early without programming the offset
registers if the delta is not positive, with the caller logging and
ignoring the error.
[1] https://lore.kernel.org/r/DMO7FUYY05LK.123ZPLIW24C2S@nvidia.com
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261109-nova-timer-v6-0-5544a3bd8b28@redhat.com?part=2
next prev parent reply other threads:[~2026-11-09 2:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-09 1:55 [PATCH v6 0/2] nova-core: add initial support for gpu timer (v6) Dave Airlie via B4 Relay
2026-11-09 1:55 ` Dave Airlie
2026-11-09 1:55 ` [PATCH v6 1/2] rust: time: expose as_nanos for clock sources Dave Airlie via B4 Relay
2026-11-09 1:55 ` Dave Airlie
2026-11-10 13:56 ` Alexandre Courbot
2026-11-11 19:48 ` Andreas Hindborg
2026-11-11 19:50 ` David Airlie
2026-11-11 14:50 ` Gary Guo
2026-11-09 1:55 ` [PATCH v6 2/2] gpu: nova-core: add support for GPU timer block. (v6) Dave Airlie via B4 Relay
2026-11-09 1:55 ` Dave Airlie
2026-11-09 2:09 ` sashiko-bot [this message]
2026-11-10 13:56 ` Alexandre Courbot
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=sashiko-outbox-204344@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=acourbot@nvidia.com \
--cc=airlied@redhat.com \
--cc=aliceryhl@google.com \
--cc=dakr@kernel.org \
--cc=daniel.almeida@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=fujita.tomonori@gmail.com \
--cc=gary@garyguo.net \
--cc=nova-gpu@lists.linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
/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.