Rust for Linux List
 help / color / mirror / Atom feed
* [PATCH 00/13] gpu: nova-core: blackwell follow-ups and fixes
@ 2026-06-15 14:40 Eliot Courtney
  2026-06-15 14:40 ` [PATCH 01/13] gpu: nova-core: fsp: limit FSP receive message allocation size Eliot Courtney
                   ` (12 more replies)
  0 siblings, 13 replies; 24+ messages in thread
From: Eliot Courtney @ 2026-06-15 14:40 UTC (permalink / raw)
  To: Danilo Krummrich, Alexandre Courbot, Alice Ryhl, David Airlie,
	Simona Vetter, Benno Lossin, Gary Guo
  Cc: John Hubbard, Alistair Popple, Timur Tabi, nova-gpu, dri-devel,
	linux-kernel, rust-for-linux, Eliot Courtney

Several fixes and clean-ups for blackwell related functionality. In
particular:

- FSP communication hardening
- Fix for Coherent allocation lifetime issues during FMC boot
- Convert some raw DMA handle stores into &Coherent stores to help
  prevent future issues with the allocation not staying alive long
  enough
- Move wait for FSP boot earlier - AFAICT, it's not valid to access
  certain registers before this is done.
- Make FbLayout code more obvious and correct
  Currently, the frts vidmem  offset is calculated based on the non-wpr
  heap size and pmu reservation size, but AFAICT this is not right. The
  fb layout actually looks like:
  | non-wpr heap | WPR2 .. FRTS | PMU reserved | ... | VGA workspace |
  It's just by coincidence + generous alignment that the values happened
  to match with something more like pmu reserved size + vga workspace.

  Originally, I thought it would make sense to use the offset of
  FbLayout::frts to compute frts vidmem offset, but actually the offsets
  in FbLayout AFAICT don't make sense on post-FSP.

  `FbLayout` is used for both pre and post FSP architectures. FbLayout
  contains ranges for each region of framebuffer, but on post FSP
  architectures, only the size is actually used by GSP. The offsets are
  not decided by the driver. So, for post FSP architectures FbLayout
  contains essentially guesses for the offsets. Instead, make separate
  types so that we only store the information that's actually needed.
  This includes the actual reserved size after the pmu reservation so we
  can properly compute the frts offset.

Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
---
Eliot Courtney (13):
      gpu: nova-core: fsp: limit FSP receive message allocation size
      gpu: nova-core: fsp: catch bogus queue pointer issues
      gpu: nova-core: fsp: try to enforce exclusive access to FSP channel
      gpu: nova-core: falcon: gsp: move PRIV target mask constants
      gpu: nova-core: gsp: keep FMC boot params DMA region alive during error
      gpu: nova-core: fsp: move FMC firmware loading into wait_secure_boot
      gpu: nova-core: gsp: ensure lifetime for FMC boot DMA allocations
      gpu: nova-core: gsp: ensure LibOS DMA allocation lives long enough
      gpu: nova-core: wait for FSP boot earlier
      gpu: nova-core: split FbLayout into FSP and non-FSP versions
      gpu: nova-core: correct FRTS vidmem offset calculation
      gpu: nova-core: rename heap size field
      gpu: nova-core: return non-WPR heap size as u64 from HALs

 drivers/gpu/nova-core/falcon/fsp.rs    |  70 ++++++++++++++-----
 drivers/gpu/nova-core/falcon/gsp.rs    |  11 +--
 drivers/gpu/nova-core/fb.rs            |  83 +++++++++++++++++++----
 drivers/gpu/nova-core/fb/hal.rs        |   5 +-
 drivers/gpu/nova-core/fb/hal/ga100.rs  |   6 +-
 drivers/gpu/nova-core/fb/hal/ga102.rs  |   6 +-
 drivers/gpu/nova-core/fb/hal/gb100.rs  |   9 ++-
 drivers/gpu/nova-core/fb/hal/gb202.rs  |   9 ++-
 drivers/gpu/nova-core/fb/hal/gh100.rs  |   8 ++-
 drivers/gpu/nova-core/fb/hal/tu102.rs  |  14 +++-
 drivers/gpu/nova-core/fsp.rs           | 119 ++++++++++++++++++---------------
 drivers/gpu/nova-core/fsp/hal.rs       |   4 +-
 drivers/gpu/nova-core/fsp/hal/gb100.rs |   4 +-
 drivers/gpu/nova-core/fsp/hal/gb202.rs |   4 +-
 drivers/gpu/nova-core/fsp/hal/gh100.rs |  10 +--
 drivers/gpu/nova-core/gpu.rs           |   7 +-
 drivers/gpu/nova-core/gpu/hal.rs       |   6 +-
 drivers/gpu/nova-core/gpu/hal/gh100.rs |  10 ++-
 drivers/gpu/nova-core/gpu/hal/tu102.rs |   3 +-
 drivers/gpu/nova-core/gsp.rs           |   8 +--
 drivers/gpu/nova-core/gsp/boot.rs      |  10 +--
 drivers/gpu/nova-core/gsp/fw.rs        |  95 ++++++++++++++++++++------
 drivers/gpu/nova-core/gsp/hal.rs       |   4 +-
 drivers/gpu/nova-core/gsp/hal/gh100.rs |  39 +++++------
 drivers/gpu/nova-core/gsp/hal/tu102.rs |  26 ++++---
 drivers/gpu/nova-core/gsp/sequencer.rs |  18 +++--
 26 files changed, 396 insertions(+), 192 deletions(-)
---
base-commit: 5f7410aa26524101d34b627fbe16670b1514962c
change-id: 20260608-blackwell-fixes-30c9358c90a0

Best regards,
--  
Eliot Courtney <ecourtney@nvidia.com>


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2026-06-16 10:57 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-15 14:40 [PATCH 00/13] gpu: nova-core: blackwell follow-ups and fixes Eliot Courtney
2026-06-15 14:40 ` [PATCH 01/13] gpu: nova-core: fsp: limit FSP receive message allocation size Eliot Courtney
2026-06-15 17:11   ` Gary Guo
2026-06-16  7:33   ` Alistair Popple
2026-06-15 14:40 ` [PATCH 02/13] gpu: nova-core: fsp: catch bogus queue pointer issues Eliot Courtney
2026-06-15 17:15   ` Gary Guo
2026-06-16  7:57     ` Alistair Popple
2026-06-16 10:57       ` Gary Guo
2026-06-15 14:40 ` [PATCH 03/13] gpu: nova-core: fsp: try to enforce exclusive access to FSP channel Eliot Courtney
2026-06-15 17:16   ` Gary Guo
2026-06-15 14:40 ` [PATCH 04/13] gpu: nova-core: falcon: gsp: move PRIV target mask constants Eliot Courtney
2026-06-15 17:17   ` Gary Guo
2026-06-16  8:02   ` Alistair Popple
2026-06-15 14:40 ` [PATCH 05/13] gpu: nova-core: gsp: keep FMC boot params DMA region alive during error Eliot Courtney
2026-06-15 17:23   ` Gary Guo
2026-06-15 14:40 ` [PATCH 06/13] gpu: nova-core: fsp: move FMC firmware loading into wait_secure_boot Eliot Courtney
2026-06-15 17:24   ` Gary Guo
2026-06-15 14:40 ` [PATCH 07/13] gpu: nova-core: gsp: ensure lifetime for FMC boot DMA allocations Eliot Courtney
2026-06-15 14:40 ` [PATCH 08/13] gpu: nova-core: gsp: ensure LibOS DMA allocation lives long enough Eliot Courtney
2026-06-15 14:40 ` [PATCH 09/13] gpu: nova-core: wait for FSP boot earlier Eliot Courtney
2026-06-15 14:40 ` [PATCH 10/13] gpu: nova-core: split FbLayout into FSP and non-FSP versions Eliot Courtney
2026-06-15 14:40 ` [PATCH 11/13] gpu: nova-core: correct FRTS vidmem offset calculation Eliot Courtney
2026-06-15 14:40 ` [PATCH 12/13] gpu: nova-core: rename heap size field Eliot Courtney
2026-06-15 14:40 ` [PATCH 13/13] gpu: nova-core: return non-WPR heap size as u64 from HALs Eliot Courtney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox