From: "Alexandre Courbot" <acourbot@nvidia.com>
To: "Joel Fernandes" <joelagnelf@nvidia.com>
Cc: <linux-kernel@vger.kernel.org>, "Miguel Ojeda" <ojeda@kernel.org>,
"Boqun Feng" <boqun@kernel.org>, "Gary Guo" <gary@garyguo.net>,
"Bjorn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>,
"Dave Airlie" <airlied@redhat.com>,
"Daniel Almeida" <daniel.almeida@collabora.com>,
<dri-devel@lists.freedesktop.org>,
<rust-for-linux@vger.kernel.org>, <nova-gpu@lists.linux.dev>,
"Nikola Djukic" <ndjukic@nvidia.com>,
"David Airlie" <airlied@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"John Hubbard" <jhubbard@nvidia.com>,
"Alistair Popple" <apopple@nvidia.com>,
"Timur Tabi" <ttabi@nvidia.com>, "Edwin Peer" <epeer@nvidia.com>,
"Andrea Righi" <arighi@nvidia.com>,
"Andy Ritger" <aritger@nvidia.com>, "Zhi Wang" <zhiw@nvidia.com>,
"Balbir Singh" <balbirs@nvidia.com>,
"Philipp Stanner" <phasta@kernel.org>, <alexeyi@nvidia.com>,
"Eliot Courtney" <ecourtney@nvidia.com>, <joel@joelfernandes.org>,
<linux-doc@vger.kernel.org>
Subject: Re: [PATCH v12 07/22] gpu: nova-core: mm: Add TLB flush support
Date: Sun, 03 May 2026 00:42:02 +0900 [thread overview]
Message-ID: <DI8B044D3N16.M8P8EPVSKB7L@nvidia.com> (raw)
In-Reply-To: <20260425211454.174696-8-joelagnelf@nvidia.com>
On Sun Apr 26, 2026 at 6:14 AM JST, Joel Fernandes wrote:
<snip>
> + /// TLB flush control register.
> + pub(crate) NV_TLB_FLUSH_CTRL(u32) @ 0x00b830b0 {
> + /// Invalidate every VA in the PDB selected by `NV_TLB_FLUSH_PDB_LO/HI`.
> + 0:0 all_va => bool;
> + /// Invalidate TLBs for all PDBs (ignores `NV_TLB_FLUSH_PDB_LO/HI`).
> + 1:1 all_pdb => bool;
> + /// Restrict the flush to the HUB MMU's TLBs; skip broadcasting to the
> + /// per-GPC L2 TLBs.
> + ///
> + /// The GPU MMU has a two-level TLB hierarchy:
> + /// 1. The *HUB MMU* sits at the top and serves memory requests from
> + /// "host-side" engines: the host/channel interface, copy engines,
> + /// display, and BAR1/BAR2 accesses.
> + /// 2. Each GPC (Graphics Processing Cluster — the block that houses
> + /// shader cores / SMs) has its own L2 TLB that serves requests from
> + /// the compute and graphics engines inside the cluster.
> + ///
> + /// When set, only the HUB TLBs are invalidated. This is a performance
> + /// optimization for flushes that only affect HUB-side mappings (e.g.
> + /// BAR1/BAR2 windows), where fanning the invalidation out to every
> + /// GPC's L2 TLB would be wasted work. Must be false when flushing
> + /// mappings that may be cached by compute/graphics engines.
> + 2:2 hubtlb_only => bool;
> + /// Invalidation acknowledgment scope. See [`TlbAckMode`] for details.
> + 8:7 ack ?=> TlbAckMode;
> + /// Write 1 to kick off the flush. Hardware clears this bit when the
> + /// flush completes; reads as 1 while the flush is in progress.
> + 31:31 trigger => bool;
> + }
> +}
Registers should be defined with their upper fields first (i.e. `31:31`
on top).
next prev parent reply other threads:[~2026-05-02 15:42 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-25 21:14 [PATCH v12 00/22] gpu: nova-core: Add memory management support Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 01/22] gpu: nova-core: gsp: Return GspStaticInfo from boot() Joel Fernandes
2026-05-02 15:41 ` Alexandre Courbot
2026-05-05 18:25 ` Joel Fernandes
2026-05-06 0:46 ` Alexandre Courbot
2026-04-25 21:14 ` [PATCH v12 02/22] gpu: nova-core: gsp: Extract usable FB region from GSP Joel Fernandes
2026-05-02 15:41 ` Alexandre Courbot
2026-05-05 18:54 ` Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 03/22] gpu: nova-core: gsp: Expose total physical VRAM end from FB region info Joel Fernandes
2026-05-02 15:41 ` Alexandre Courbot
2026-05-05 20:17 ` Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 04/22] gpu: nova-core: mm: Add support to use PRAMIN windows to write to VRAM Joel Fernandes
2026-05-02 15:41 ` Alexandre Courbot
2026-05-05 22:59 ` Joel Fernandes
2026-05-06 0:47 ` Alexandre Courbot
2026-05-06 14:38 ` Joel Fernandes
2026-05-07 19:44 ` Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 05/22] docs: gpu: nova-core: Document the PRAMIN aperture mechanism Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 06/22] gpu: nova-core: mm: Add common memory management types Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 07/22] gpu: nova-core: mm: Add TLB flush support Joel Fernandes
2026-05-02 15:42 ` Alexandre Courbot [this message]
2026-04-25 21:14 ` [PATCH v12 08/22] gpu: nova-core: mm: Add GpuMm centralized memory manager Joel Fernandes
2026-05-02 15:42 ` Alexandre Courbot
2026-04-25 21:14 ` [PATCH v12 09/22] gpu: nova-core: mm: Add common types for all page table formats Joel Fernandes
2026-05-02 15:42 ` Alexandre Courbot
2026-05-02 17:55 ` Joel Fernandes
2026-05-04 14:27 ` Alexandre Courbot
2026-04-25 21:14 ` [PATCH v12 10/22] gpu: nova-core: mm: Add MMU v2 page table types Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 11/22] gpu: nova-core: mm: Add MMU v3 " Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 12/22] gpu: nova-core: mm: Add page table entry operation traits Joel Fernandes
2026-05-02 15:42 ` Alexandre Courbot
2026-05-02 19:19 ` Joel Fernandes
2026-05-04 14:31 ` Alexandre Courbot
2026-05-04 19:28 ` Joel Fernandes
2026-05-04 19:42 ` Danilo Krummrich
2026-05-04 19:50 ` Joel Fernandes
2026-05-04 23:50 ` Joel Fernandes
2026-05-05 5:37 ` Alexandre Courbot
2026-04-25 21:14 ` [PATCH v12 13/22] gpu: nova-core: mm: Add page table walker for MMU v2/v3 Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 14/22] gpu: nova-core: mm: Add Virtual Memory Manager Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 15/22] gpu: nova-core: mm: Add virtual address range tracking to VMM Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 16/22] gpu: nova-core: mm: Add multi-page mapping API " Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 17/22] gpu: nova-core: Add BAR1 aperture type and size constant Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 18/22] gpu: nova-core: mm: Add BAR1 user interface Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 19/22] gpu: nova-core: mm: Add BAR1 memory management self-tests Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 20/22] gpu: nova-core: mm: Add PRAMIN aperture self-tests Joel Fernandes
2026-05-02 15:42 ` Alexandre Courbot
2026-05-05 21:18 ` Joel Fernandes
2026-04-25 21:14 ` [PATCH v12 21/22] gpu: nova-core: mm: pramin: drop useless as_ref() in run_self_test Joel Fernandes
2026-05-02 15:42 ` Alexandre Courbot
2026-04-25 21:14 ` [PATCH v12 22/22] rust: maple_tree: implement Send and Sync for MapleTree Joel Fernandes
2026-05-02 15:42 ` Alexandre Courbot
2026-05-02 17:36 ` Joel Fernandes
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=DI8B044D3N16.M8P8EPVSKB7L@nvidia.com \
--to=acourbot@nvidia.com \
--cc=a.hindborg@kernel.org \
--cc=airlied@gmail.com \
--cc=airlied@redhat.com \
--cc=alexeyi@nvidia.com \
--cc=aliceryhl@google.com \
--cc=apopple@nvidia.com \
--cc=arighi@nvidia.com \
--cc=aritger@nvidia.com \
--cc=balbirs@nvidia.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=boqun@kernel.org \
--cc=dakr@kernel.org \
--cc=daniel.almeida@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=ecourtney@nvidia.com \
--cc=epeer@nvidia.com \
--cc=gary@garyguo.net \
--cc=jhubbard@nvidia.com \
--cc=joel@joelfernandes.org \
--cc=joelagnelf@nvidia.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=ndjukic@nvidia.com \
--cc=nova-gpu@lists.linux.dev \
--cc=ojeda@kernel.org \
--cc=phasta@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
--cc=ttabi@nvidia.com \
--cc=zhiw@nvidia.com \
/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.