All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alexandre Courbot" <acourbot@nvidia.com>
To: "Alexandre Courbot" <acourbot@nvidia.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>,
	"Danilo Krummrich" <dakr@kernel.org>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>
Cc: "John Hubbard" <jhubbard@nvidia.com>,
	"Alistair Popple" <apopple@nvidia.com>,
	"Joel Fernandes" <joelagnelf@nvidia.com>,
	"Timur Tabi" <ttabi@nvidia.com>, <rust-for-linux@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <nouveau@lists.freedesktop.org>,
	<dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH v6 00/11] gpu: nova-core: process and prepare more firmwares to boot GSP
Date: Sat, 13 Sep 2025 23:23:25 +0900	[thread overview]
Message-ID: <DCRQO2P7F2JZ.2SGL49C8D38LX@nvidia.com> (raw)
In-Reply-To: <20250913-nova_firmware-v6-0-9007079548b0@nvidia.com>

On Sat Sep 13, 2025 at 11:12 PM JST, Alexandre Courbot wrote:
> Sending a final revision to have the `Link:` tags that dim requires, and
> for the record.
>
> This series makes more progress on the GSP boot process for Ampere GPUs.
>
> At the end of the previous series [1], we were left with a WPR memory
> region created by the FRTS firmware, but still far from the GSP running.
> This series brings us closer to that goal by preparing 2 new firmware
> packages:
>
> * The Booter firmware, which the driver loads and runs on the SEC2
>   falcon;
> * The GSP bootloader and firmware, with the bootloader loaded by Booter
>   onto the GSP RISC-V core to verify and load the actual GSP firmware.
>
> There firmwares are involved in a rather complex dance that is made
> necessary by limitations related to the level of privilege required to
> load code onto the GSP (doing so requires a Heavy Secured signed
> firmware, which is the role fulfilled by Booter).
>
> The first 5 patches perform some cleanup and preparatory work for the
> remainder of the series. Notably, the GSP boot is moved to a new method
> of `Gpu` to get ready for the additional steps that will be added to it,
> and the `Gpu` object is now fully built in-place. We also simplify
> chipset name generation a bit and move the code requesting a firmware
> file into a dedicated function in prevision of the removal of the
> `Firmware` structure.
>
> Patch 6 parses the Booter firmware file, queries the hardware for the
> right signature to use, and patch it into the firmware blob. This makes
> Booter ready to load and run.
>
> Patches 7 and 8 prepare the GSP firmware and its bootloader, and keep
> them into a single structure as they are closely related.
>
> Patches 9 and 10 switch to the 570.144 firmware and introduce the
> layout for its bindings. The raw bindings are stored in a private
> module, and abstracted by the parent module as needed. This allows
> consumer modules to access a safer/nicer form of the bindings than the
> raw one, and also makes it easier to switch to a different (and
> potentially incompatible) firmware version in the future.
>
> 570.144 has been picked because it is the latest firmware currently in
> linux-firmware, but as development progresses the plan is to switch to a
> newer one that is designed with the constraint of upstream in mind. So
> support for 570.144 will be dropped in the future. Support for multiple
> firmware versions is not considered at the moment: there is no immediate
> need for it as the driver is still unstable, and we can think about this
> point once we approach stability (and have better visibility about the
> shape of the firmware at that point).
>
> The last patch introduces the first bindings and uses them to compute
> more framebuffer layout information needed for booting the GSP. A
> separate patch series will pick up from there to use this information
> and finally run these firmware blobs.
>
> The base of this series is today's drm-rust-next, with the Alignment [2]
> series required for the last patch.
>
> A tree with all these dependencies and the patches of this series is
> available at [3].
>
> [1] https://lore.kernel.org/rust-for-linux/20250619-nova-frts-v6-0-ecf41ef99252@nvidia.com/
> [2] https://lore.kernel.org/rust-for-linux/20250908-num-v5-0-c0f2f681ea96@nvidia.com/
> [3] https://github.com/Gnurou/linux/tree/b4/nova_firmware
>
> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>

Patches 1 to 10 merged to drm-rust-next, as agreed with Danilo.

      parent reply	other threads:[~2025-09-13 14:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-13 14:12 [PATCH v6 00/11] gpu: nova-core: process and prepare more firmwares to boot GSP Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 01/11] gpu: nova-core: require `Send` on `FalconEngine` and `FalconHal` Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 02/11] gpu: nova-core: move GSP boot code to its own module Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 03/11] gpu: nova-core: add Chipset::name() method Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 04/11] gpu: nova-core: firmware: move firmware request code into a function Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 05/11] gpu: nova-core: firmware: add support for common firmware header Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 06/11] gpu: nova-core: firmware: process Booter and patch its signature Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 07/11] gpu: nova-core: firmware: process and prepare the GSP firmware Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 08/11] gpu: nova-core: firmware: process the GSP bootloader Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 09/11] gpu: nova-core: firmware: use 570.144 firmware Alexandre Courbot
2025-09-13 14:12 ` [PATCH v6 10/11] gpu: nova-core: Add base files for r570.144 firmware bindings Alexandre Courbot
2025-09-16 14:42   ` Danilo Krummrich
2025-09-13 14:12 ` [PATCH v6 11/11] gpu: nova-core: compute layout of more framebuffer regions required for GSP Alexandre Courbot
2025-09-13 14:23 ` Alexandre Courbot [this message]

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=DCRQO2P7F2JZ.2SGL49C8D38LX@nvidia.com \
    --to=acourbot@nvidia.com \
    --cc=a.hindborg@kernel.org \
    --cc=airlied@gmail.com \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=apopple@nvidia.com \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=dakr@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gary@garyguo.net \
    --cc=jhubbard@nvidia.com \
    --cc=joelagnelf@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lossin@kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=ojeda@kernel.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tmgross@umich.edu \
    --cc=ttabi@nvidia.com \
    --cc=tzimmermann@suse.de \
    /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.