[RFC PATCH 0/4] drm/panfrost: Support ARM_64_LPAE_S1 page table

From: Ariel D'Alessandro
Date: Wed Feb 26 2025 - 13:31:18 EST


Hi all,

This is a RFC related to AArch64 page table format support in panfrost.
Currently, only MMU in legacy mode is supported, but Bifrost GPUs use
the standard format LPAE S1 page tables.

There's a previous similar thread on this topic from 2019-May [0], which
got stalled. This RFC is an attemp to bring this discussion back in
order to properly support this mode.

So far, this patchset has been tested on a Mediatek Genio 700 EVK
(MT8390) board, with an integrated Mali-G57 MC3 GPU using
`glmark2-es2-drm` OpenGL 2.0 benchmark tests.

However, Mesa CI dEQP tests for GLES2, GLES3+ and EGL already reported
possible regressions on this patchset, still under investigation.

Due to the possible impact of this patchset, exhaustive testing should
be done before merging, but in any case, let's start kicking this thread
for discussion.

Any comments, feedback is welcome :)

[0] https://lists.freedesktop.org/archives/dri-devel/2019-May/217617.html

Thanks!

Ariel D'Alessandro (4):
drm/panfrost: Use GPU_MMU_FEATURES_VA_BITS/PA_BITS macros
drm/panfrost: Split LPAE MMU TRANSTAB register values
drm/panfrost: Support ARM_64_LPAE_S1 page table
drm/panfrost: Set HW_FEATURE_AARCH64_MMU feature flag on Bifrost
models

drivers/gpu/drm/panfrost/panfrost_device.h | 1 +
drivers/gpu/drm/panfrost/panfrost_features.h | 3 +
drivers/gpu/drm/panfrost/panfrost_mmu.c | 124 +++++++++++++++----
drivers/gpu/drm/panfrost/panfrost_regs.h | 50 ++++++--
4 files changed, 149 insertions(+), 29 deletions(-)

--
2.47.2