mbox series

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

Message ID 20250226183043.140773-1-ariel.dalessandro@collabora.com (mailing list archive)
Headers show
Series drm/panfrost: Support ARM_64_LPAE_S1 page table | expand

Message

Ariel D'Alessandro Feb. 26, 2025, 6:30 p.m. UTC
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(-)