[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250910175740.2d15d0d5@fedora>
Date: Wed, 10 Sep 2025 17:57:40 +0200
From: Boris Brezillon <boris.brezillon@...labora.com>
To: Daniel Almeida <daniel.almeida@...labora.com>
Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard
<mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>, David Airlie
<airlied@...il.com>, Simona Vetter <simona@...ll.ch>, Miguel Ojeda
<ojeda@...nel.org>, Alex Gaynor <alex.gaynor@...il.com>, Boqun Feng
<boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>, Björn
Roy Baron <bjorn3_gh@...tonmail.com>, Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>, Alice Ryhl
<aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>, Danilo Krummrich
<dakr@...nel.org>, Daniel Stone <daniels@...labora.com>, Rob Herring
<robh@...nel.org>, Beata Michalska <beata.michalska@....com>, Carsten
Haitzler <carsten.haitzler@...s.arm.com>, Ashley Smith
<ashley.smith@...labora.com>, Steven Price <steven.price@....com>, Jeffrey
Vander Stoep <jeffv@...gle.com>, Sumit Semwal <sumit.semwal@...aro.org>,
Christian König <christian.koenig@....com>,
linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
rust-for-linux@...r.kernel.org, kernel@...labora.com
Subject: Re: [PATCH v3] rust: drm: Introduce the Tyr driver for Arm Mali
GPUs
On Wed, 10 Sep 2025 10:51:18 -0300
Daniel Almeida <daniel.almeida@...labora.com> wrote:
> Add a Rust driver for ARM Mali CSF-based GPUs. It is a port of Panthor
> and therefore exposes Panthor's uAPI and name to userspace, and the
> product of a joint effort between Collabora, Arm and Google engineers.
>
> The aim is to incrementally develop Tyr with the abstractions that are
> currently available until it is consider to be in parity with Panthor
> feature-wise.
>
> The development of Tyr itself started in January, after a few failed
> attempts of converting Panthor piecewise through a mix of Rust and C
> code. There is a downstream branch that's much further ahead in terms of
> capabilities than this initial patch.
>
> The downstream code is capable of booting the MCU, doing sync VM_BINDS
> through the work-in-progress GPUVM abstraction and also doing (trivial)
> submits through Asahi's drm_scheduler and dma_fence abstractions. So
> basically, most of what one would expect a modern GPU driver to do,
> except for power management and some other very important adjacent
> pieces. It is not at the point where submits can correctly deal with
> dependencies, or at the point where it can rotate access to the GPU
> hardware fairly through a software scheduler, but that is simply a
> matter of writing more code.
>
> This first patch, however, only implements a subset of the current
> features available downstream, as the rest is not implementable without
> pulling in even more abstractions. In particular, a lot of things depend
> on properly mapping memory on a given VA range, which itself depends on
> the GPUVM abstraction that is currently work-in-progress. For this
> reason, we still cannot boot the MCU and thus, cannot do much for the
> moment.
>
> This constitutes a change in the overall strategy that we have been
> using to develop Tyr so far. By submitting small parts of the driver
> upstream iteratively, we aim to:
>
> a) evolve together with Nova and rvkms, hopefully reducing regressions
> due to upstream changes (that may break us because we were not there, in
> the first place)
>
> b) prove any work-in-progress abstractions by having them run on a real
> driver and hardware and,
>
> c) provide a reason to work on and review said abstractions by providing
> a user, which would be tyr itself.
>
> Despite its limited feature-set, we offer IGT tests. It is only tested
> on the rk3588, so any other SoC is probably not going to work at all for
> now.
>
> The skeleton is basically taken from Nova and also
> rust_platform_driver.rs.
>
> Lastly, the name "Tyr" is inspired by Norse mythology, reflecting ARM's
> tradition of naming their GPUs after Nordic mythological figures and
> places.
>
> Co-developed-by: Alice Ryhl <aliceryhl@...gle.com>
> Signed-off-by: Alice Ryhl <aliceryhl@...gle.com>
> Co-developed-by: Beata Michalska <beata.michalska@....com>
> Signed-off-by: Beata Michalska <beata.michalska@....com>
> Co-developed-by: Carsten Haitzler <carsten.haitzler@...s.arm.com>
> Signed-off-by: Carsten Haitzler <carsten.haitzler@...s.arm.com>
> Co-developed-by: Rob Herring <robh@...nel.org>
> Signed-off-by: Rob Herring <robh@...nel.org>
>
> Link: https://www.collabora.com/news-and-blog/news-and-events/introducing-tyr-a-new-rust-drm-driver.html
> Signed-off-by: Daniel Almeida <daniel.almeida@...labora.com>
Not that is really matters, but this is
Acked-by: Boris Brezillon <boris.brezillon@...labora.com>
Powered by blists - more mailing lists