This series adds firmware loading and MCU boot support to the Tyr DRM
driver. It includes:
- A parser for the Mali CSF firmware binary format
- A kernel-managed BO type (KernelBo) for internal driver allocations
- GPU virtual memory (VM) integration using drm_gpuvm
- An MMU module and a generic slot manager
- Shmem-backed GEM support for Tyr
- Loading firmware, VM activation, and MCU boot at probe()
Base:
drm-rust-next-2026-01-26
commit cea7b66a8041 ("Documentation: nova: update pending tasks")
Dependencies:
- [PATCH v7 0/7] Rust bindings for gem shmem + iosys_map
https://lore.kernel.org/rust-for-linux/[email protected]/
- [PATCH v4 0/6] Rust GPUVM immediate mode
https://lore.kernel.org/rust-for-linux/[email protected]/
- [PATCH v5 0/4] Introduce DeviceContext
https://lore.kernel.org/rust-for-linux/[email protected]/
Other Prerequisites:
This series also depends on additional prerequisite fixes not included in
this posting. The full stack (base + prerequisites + this series) is
available here:
https://gitlab.freedesktop.org/dbrouwer/linux/-/tree/dbrouwer/fw-boot
Development history / discussion:
https://gitlab.freedesktop.org/panfrost/linux/-/merge_requests/56
Beata Michalska (1):
drm/tyr: set DMA mask using GPU physical address
Boris Brezillon (6):
drm/tyr: select DRM abstractions in Kconfig
drm/tyr: rename TyrObject to BoData
drm/tyr: add MMU address space registers
drm/tyr: Add generic slot manager
drm/tyr: add MMU module
drm/tyr: add GPU virtual memory module
Daniel Almeida (1):
drm/tyr: add parser for firmware binary
Deborah Brouwer (4):
drm/tyr: move clock cleanup into Clocks Drop impl
drm/tyr: add shmem backing for GEM objects
drm/tyr: add a kernel buffer object
drm/tyr: add firmware loading and MCU boot support
drivers/gpu/drm/tyr/Kconfig | 14 +-
drivers/gpu/drm/tyr/driver.rs | 55 +-
drivers/gpu/drm/tyr/fw.rs | 263 ++++++++
drivers/gpu/drm/tyr/fw/parser.rs | 469 ++++++++++++++
drivers/gpu/drm/tyr/gem.rs | 117 +++-
drivers/gpu/drm/tyr/gpu.rs | 2 -
drivers/gpu/drm/tyr/mmu.rs | 90 +++
drivers/gpu/drm/tyr/mmu/address_space.rs | 322 ++++++++++
drivers/gpu/drm/tyr/regs.rs | 101 ++-
drivers/gpu/drm/tyr/slot.rs | 358 +++++++++++
drivers/gpu/drm/tyr/tyr.rs | 4 +
drivers/gpu/drm/tyr/vm.rs | 782 +++++++++++++++++++++++
12 files changed, 2548 insertions(+), 29 deletions(-)
create mode 100644 drivers/gpu/drm/tyr/fw.rs
create mode 100644 drivers/gpu/drm/tyr/fw/parser.rs
create mode 100644 drivers/gpu/drm/tyr/mmu.rs
create mode 100644 drivers/gpu/drm/tyr/mmu/address_space.rs
create mode 100644 drivers/gpu/drm/tyr/slot.rs
create mode 100644 drivers/gpu/drm/tyr/vm.rs
--
2.52.0