| From: |
| Deborah Brouwer <deborah.brouwer-AT-collabora.com> |
| To: |
| dri-devel-AT-lists.freedesktop.org, rust-for-linux-AT-vger.kernel.org |
| Subject: |
| [PATCH 0/12] drm/tyr: firmware loading and MCU boot support |
| Date: |
| Wed, 11 Feb 2026 17:37:01 -0800 |
| Message-ID: |
| <20260212013713.304343-1-deborah.brouwer@collabora.com> |
| Cc: |
| daniel.almeida-AT-collabora.com, aliceryhl-AT-google.com, boris.brezillon-AT-collabora.com, beata.michalska-AT-arm.com, lyude-AT-redhat.com, Deborah Brouwer <deborah.brouwer-AT-collabora.com> |
| Archive-link: |
| Article |
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/20260206223431.693...
- [PATCH v4 0/6] Rust GPUVM immediate mode
https://lore.kernel.org/rust-for-linux/20260130-gpuvm-rus...
- [PATCH v5 0/4] Introduce DeviceContext
https://lore.kernel.org/rust-for-linux/20260131001602.209...
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/dbro...
Development history / discussion:
https://gitlab.freedesktop.org/panfrost/linux/-/merge_req...
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