From: "Eliot Courtney" <ecourtney@nvidia.com>
To: "Alexandre Courbot" <acourbot@nvidia.com>,
"John Hubbard" <jhubbard@nvidia.com>
Cc: "Danilo Krummrich" <dakr@kernel.org>,
"Timur Tabi" <ttabi@nvidia.com>,
"Alistair Popple" <apopple@nvidia.com>,
"Eliot Courtney" <ecourtney@nvidia.com>,
"Zhi Wang" <zhiw@nvidia.com>, "David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn 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>,
nova-gpu@lists.linux.dev, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 00/31] gpu: nova-core: boot on the r000 GSP firmware
Date: Wed, 09 Sep 2026 14:47:03 +0900 [thread overview]
Message-ID: <DLAJRDMODQ7Q.VQS8G9TRN3Q8@nvidia.com> (raw)
In-Reply-To: <DL9ZLUVDKRGT.2RN154EKHPKEJ@nvidia.com>
On Tue Sep 8, 2026 at 10:59 PM JST, Alexandre Courbot wrote:
> On Sat Aug 22, 2026 at 10:54 AM JST, John Hubbard wrote:
>> Hi,
>>
>> I'm sending this just a few days after v1, which is soon, but Timur Tabi
>> and Zhi Wang reviewed the whole series in that time, and that led to
>> quite a lot of fixes and lines changed. So I think it is helpful to
>> provide a v2 now, so that future reviewers can avoid rediscovering all
>> those issues.
>
> I only gave this a high-level look so far. This needs some reorganizing
> before it can be properly reviewed. I think the size of the series can
> be reduced by at least a third, maybe more.
>
> First let's keep the series focused on r000: patches 7, 10, 30 and 31
> are dealing with debug logs, not r000 proper. I'm sure they are useful
> but they are technically a different topic from adding support for r000.
>
> Then there is a lot of churn. For instance patch 28 removes 351 LoCs of
> bindings introduced by patch 2. They are not required by the end of the
> series, but kept as dead code after patch 26 because (IIUC) their RPCs
> are removed later. This is one of the few cases where it is actually ok
> to do two things in the same patch: were they removed during the switch
> done by patch 26, their bindings wouldn't need to be introduced at all.
> Actually that's how the sequencer is treated; I have many issues with
> patch 26, but *that* one is ok - a bunch of deleted code is the simplest
> thing to review.
>
> The msgq v2 part also looks more messy than it needs to be. It tries to
> keep both versions coexisting at the same time, even though only one of
> them is ever used at any given time. I suspect it would be simpler to
> implement the changes as part of the switch. Or at the very least, let's
> make the cmdq generic if we want it to handle both, and place the
> differences in sub-modules. This should also simplify the receive path
> considerably.
>
> Patch 26 does 5 different things over hundreds and hundreds of lines,
> that's more contexts than a reviewer can hold in their head. This needs
> to be split. I strongly suspect (more an intuition than a realization)
> that a good part of it is actually intended to land in the
> already-existing preceding patches. Other things can be simplified: for
> instance `Bar0` arguments are added to many cmdq methods, which was
> probably the only way of doing when the series was first developed, but
> now we can store a `Bar0` in the relevant struct so let's do that.
> Actually the `Cmdq` is probably overdue holding one.
>
> I'll give a deeper look at the next revision, which I expect to be well
> under the 3000 added LoCs (famous last words :)).
On a broader note, this series contains several chunks of functionality
that could be separate patch series and reviewed separately. I think
we'd be able to review this faster if it were explicitly split into
several series, as Alex noted there is some churn / patches that could
be put in a better order.
In particular, I see these sets of functionalities that could be done
separately and in order:
1. MCTP transport + cmdq transport
2. GMCAPI cmdq infra
3. Boot events for r000
4. Boot using r000 - that's systeminfo+staticinfo stuff
5. Migration to r000 + removal of r570. Ideally, the migration to r000
can be the smallest commit to flip from (uses r570 for booth, doesn't
use r000) => (doesn't use r570, uses r000).
6. Misc debug log stuff
next prev parent reply other threads:[~2026-09-09 5:47 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-22 1:54 [PATCH v2 00/31] gpu: nova-core: boot on the r000 GSP firmware John Hubbard
2026-08-22 1:54 ` [PATCH v2 01/31] rust: pci: add domain_nr() accessor John Hubbard
2026-08-22 7:57 ` Miguel Ojeda
2026-08-22 20:11 ` John Hubbard
2026-08-23 0:08 ` Alexandre Courbot
2026-08-22 1:54 ` [PATCH v2 02/31] gpu: nova-core: firmware: add r000 bindings John Hubbard
2026-08-22 1:54 ` [PATCH v2 03/31] gpu: nova-core: extract radix3 page table into its own module John Hubbard
2026-09-07 3:13 ` Alexandre Courbot
2026-09-07 4:20 ` John Hubbard
2026-09-07 5:18 ` Alexandre Courbot
2026-08-22 1:54 ` [PATCH v2 04/31] gpu: nova-core: set MCTP transport header version to 1 John Hubbard
2026-08-22 1:54 ` [PATCH v2 05/31] gpu: nova-core: add Falcon helpers for r000 LOAD_EXEC events John Hubbard
2026-08-22 1:54 ` [PATCH v2 06/31] gpu: nova-core: zero-pad radix3 page table levels to page boundary John Hubbard
2026-09-07 3:09 ` Alexandre Courbot
2026-08-22 1:54 ` [PATCH v2 07/31] gpu: nova-core: distinguish async GSP RPC traffic in debug logs John Hubbard
2026-09-07 2:51 ` Alexandre Courbot
2026-08-22 1:54 ` [PATCH v2 08/31] gpu: nova-core: add optional ucodes firmware loading John Hubbard
2026-08-23 16:26 ` M Henning
2026-08-23 19:51 ` John Hubbard
2026-08-22 1:54 ` [PATCH v2 09/31] gpu: nova-core: add LIBOS3 log buffers and state monitor buffer John Hubbard
2026-08-22 1:54 ` [PATCH v2 10/31] gpu: nova-core: add build ID headers to debugfs log buffer dumps John Hubbard
2026-08-22 1:54 ` [PATCH v2 11/31] gpu: nova-core: rename the FbRanges elf field to fw_image John Hubbard
2026-08-22 1:54 ` [PATCH v2 12/31] gpu: nova-core: regs: add msgq v2 BAR0 register declarations John Hubbard
2026-08-22 1:54 ` [PATCH v2 13/31] gpu: nova-core: gsp: add msgq v2 internals John Hubbard
2026-09-09 5:46 ` Eliot Courtney
2026-08-22 1:54 ` [PATCH v2 14/31] gpu: nova-core: generalize allocate_command() for variable headers John Hubbard
2026-08-22 1:54 ` [PATCH v2 15/31] gpu: nova-core: add GMC API message types John Hubbard
2026-08-22 1:54 ` [PATCH v2 16/31] gpu: nova-core: add GMC send path John Hubbard
2026-08-22 1:54 ` [PATCH v2 17/31] gpu: nova-core: add GMC transport receive path John Hubbard
2026-08-22 1:54 ` [PATCH v2 18/31] gpu: nova-core: gsp: add GMC dispatch on receive John Hubbard
2026-08-22 1:54 ` [PATCH v2 19/31] gpu: nova-core: separate the generic falcon bootloader from FWSEC John Hubbard
2026-08-22 1:54 ` [PATCH v2 20/31] gpu: nova-core: handle the r000 load-and-execute HS binary event John Hubbard
2026-08-22 1:54 ` [PATCH v2 21/31] gpu: nova-core: handle the r000 load-and-execute bootloader event John Hubbard
2026-08-22 1:54 ` [PATCH v2 22/31] gpu: nova-core: gsp: add the GMC boot event dispatcher John Hubbard
2026-08-22 1:54 ` [PATCH v2 23/31] gpu: nova-core: gsp: add the GSP_INIT request builder John Hubbard
2026-08-22 1:54 ` [PATCH v2 24/31] gpu: nova-core: gsp: send GSP_INIT and decode its reply John Hubbard
2026-08-22 1:54 ` [PATCH v2 25/31] gpu: nova-core: gsp: pass the remaining log buffers to GSP-RM John Hubbard
2026-08-22 1:54 ` [PATCH v2 26/31] gpu: nova-core: switch to the r000 GSP firmware John Hubbard
2026-08-22 1:54 ` [PATCH v2 27/31] gpu: nova-core: gsp: validate RPC element framing on receive John Hubbard
2026-08-22 1:54 ` [PATCH v2 28/31] gpu: nova-core: gsp: remove the RPCs that GSP_INIT replaced John Hubbard
2026-08-22 1:54 ` [PATCH v2 29/31] gpu: nova-core: firmware: delete the r570 bindings John Hubbard
2026-08-22 1:54 ` [PATCH v2 30/31] gpu: nova-core: print GMC command names in debug logs John Hubbard
2026-08-22 1:54 ` [PATCH v2 31/31] gpu: nova-core: distinguish GMC event and response " John Hubbard
2026-09-08 13:59 ` [PATCH v2 00/31] gpu: nova-core: boot on the r000 GSP firmware Alexandre Courbot
2026-09-09 5:47 ` Eliot Courtney [this message]
2026-09-09 21:52 ` John Hubbard
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=DLAJRDMODQ7Q.VQS8G9TRN3Q8@nvidia.com \
--to=ecourtney@nvidia.com \
--cc=a.hindborg@kernel.org \
--cc=acourbot@nvidia.com \
--cc=airlied@gmail.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=apopple@nvidia.com \
--cc=bhelgaas@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@kernel.org \
--cc=gary@garyguo.net \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=nova-gpu@lists.linux.dev \
--cc=ojeda@kernel.org \
--cc=simona@ffwll.ch \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox