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
