[PATCH 0/7] gpu: nova-core: generic bootloader and falcon DMA changes for r000
From: Alexandre Courbot
Date: Tue Nov 03 2026 - 05:58:12 EST
This series contains patches 13, 14, 16 and 17 from John's r000 series
v3 [1], that prepare the generic falcon bootloader and the falcon DMA
code for the r000 boot protocol. They are submitted separately as they
do not depend on the command queue work, and are valuable on their own.
Patches 1 to 4 make the generic bootloader its own type, usable with any
DMEM descriptor and not just FWSEC's, and place it at the top of IMEM as
reported by the HWCFG register instead of assuming a 64 KiB IMEM.
Patches 5 to 7 let falcon DMA transfers read from a framebuffer address
and tag DMEM blocks, and check the per-block offsets for overflow. These
three are extracted from a single commit into their own patches.
Apart from the bootloader placement, no functional change is introduced
by this series. The new DMA capabilities remain unused until the r000
load-and-execute handlers land.
Based on `drm-rust-next`, tested with TU106 and GA107 using both the
570.144 and 615.71.09 firmware images.
[1] https://lore.kernel.org/20260918010719.1176945-1-jhubbard@xxxxxxxxxx
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
---
Changes since John's v3:
- Split the IMEM placement change out of the bootloader extraction.
- Keep the DMEM descriptor fields private behind a constructor.
- Replace the exported bootloader pairing type with a `run()` method.
- Make `dma_wr()` able to work with different sources instead of adding
a second DMA method.
- Split the DMEM tagging and overflow checks into their own patches.
---
Alexandre Courbot (2):
gpu: nova-core: falcon: allow DMEM DMA transfers to request tagging
gpu: nova-core: falcon: allow DMA transfers to read from a framebuffer address
John Hubbard (5):
gpu: nova-core: separate the generic falcon bootloader from FWSEC
gpu: nova-core: place the generic bootloader at the top of IMEM
gpu: nova-core: move the bootloader DMEM descriptor out of FWSEC
gpu: nova-core: run the generic bootloader from its own type
gpu: nova-core: falcon: check the per-block DMA offsets for overflow
drivers/gpu/nova-core/falcon.rs | 89 +++++--
drivers/gpu/nova-core/firmware.rs | 1 +
drivers/gpu/nova-core/firmware/fwsec/bootloader.rs | 202 +++------------
drivers/gpu/nova-core/firmware/gen_bootloader.rs | 270 +++++++++++++++++++++
drivers/gpu/nova-core/gsp/hal/tu102.rs | 6 +-
drivers/gpu/nova-core/regs.rs | 7 +-
6 files changed, 375 insertions(+), 200 deletions(-)
---
base-commit: 1c221646e5e5f8a1d2f29cc8250b5785433bda37
change-id: 20261103-r000-fw-088d39a643b7
Best regards,
--
Alexandre Courbot <acourbot@xxxxxxxxxx>