|
|
Log in / Subscribe / Register

drm/tyr: firmware loading and MCU boot support

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



Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds