Adrian,

On 3/22/25 3:48 PM, Adrian Larumbe wrote:
On 17.03.2025 11:52, Ariel D'Alessandro wrote:
Currently, Panfrost only supports MMU configuration in "LEGACY" (as
Bifrost calls it) mode, a (modified) version of LPAE "Large Physical
Address Extension", which in Linux we've called "mali_lpae".

This commit adds support for conditionally enabling AARCH64_4K page
table format. To achieve that, a "GPU optional quirks" field was added
to `struct panfrost_features` with the related flag.

Note that, in order to enable AARCH64_4K mode, the GPU variant must have
the HW_FEATURE_AARCH64_MMU feature flag present.

Signed-off-by: Ariel D'Alessandro <ariel.dalessan...@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno 
<angelogioacchino.delre...@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezil...@collabora.com>
---
  drivers/gpu/drm/panfrost/panfrost_device.h |  16 +++
  drivers/gpu/drm/panfrost/panfrost_mmu.c    | 140 +++++++++++++++++++--
  drivers/gpu/drm/panfrost/panfrost_regs.h   |  34 +++++
  3 files changed, 183 insertions(+), 7 deletions(-)

[snip]

diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c 
b/drivers/gpu/drm/panfrost/panfrost_mmu.c
index 294f86b3c25e7..506f42ccfd5fc 100644
--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c

[snip]

+static int panfrost_mmu_cfg_init(struct panfrost_mmu *mmu,
+                                 enum io_pgtable_fmt fmt)
+{
+       struct panfrost_device *pfdev = mmu->pfdev;
+
+       switch (fmt) {
+       case ARM_64_LPAE_S1:
+               return mmu_cfg_init_aarch64_4k(mmu);
+       case ARM_MALI_LPAE:
+               return mmu_cfg_init_mali_lpae(mmu);
+       default:
+               /* This should never happen */
+               drm_WARN(pfdev->ddev, "Invalid pgtable format");

I think there's a '1' missing here before the string literal.
Other than that,

Reviewed-by: Adrián Larumbe <adrian.laru...@collabora.com>

Fixed, thanks!

Will send v5 right away.

--
Ariel D'Alessandro
Software Engineer

Collabora Ltd.
Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK Registered in England & Wales, no. 5513718

Reply via email to