Skip to content
Snippets Groups Projects
Commit fe06648c authored by Daniel Almeida's avatar Daniel Almeida
Browse files

Introduce Tyr


Rust driver for ARM Mali CSF-based GPUs

The skeleton is basically taken from Nova and also rust_platform_driver.rs.

So far, this is just a very early-stage experiment, but it looks promissing:

- We use the same uAPI as Panthor, although this needs a bit of work, since
  bindgen cannot translate #defines into Rust.

- The DRM registration and IOCTL boilerplate is implemented. We can test
  devquery using igt.

- Basic iomem and register set implementation, so it's possible to program
the device. We can even attest that it works already.

- IRQ handling, so we can receive notifications from the device.

- We can boot the firmware.

Notably missing (apart from literally everything else):
- Job subission logic through drm_scheduler and completion through dma_fences
- VM_BIND support through drm_gpuvm
- Devfreq, pm_idle, etc.

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: default avatarAlice Ryhl <alice.ryhl@google.com>
Signed-off-by: default avatarAlice Ryhl <alice.ryhl@google.com>
Signed-off-by: default avatarDaniel Almeida <daniel.almeida@collabora.com>
parent 24c24f9d
No related branches found
No related tags found
No related merge requests found
Showing with 2471 additions and 2 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment