[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250314173858.212264-1-ariel.dalessandro@collabora.com>
Date: Fri, 14 Mar 2025 14:38:52 -0300
From: Ariel D'Alessandro <ariel.dalessandro@...labora.com>
To: dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Cc: boris.brezillon@...labora.com,
robh@...nel.org,
steven.price@....com,
maarten.lankhorst@...ux.intel.com,
mripard@...nel.org,
tzimmermann@...e.de,
airlied@...il.com,
simona@...ll.ch,
kernel@...labora.com,
linux-mediatek@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org,
sjoerd@...labora.com,
angelogioacchino.delregno@...labora.com,
Ariel D'Alessandro <ariel.dalessandro@...labora.com>
Subject: [PATCH v2 0/6] drm/panfrost: Add support for AARCH64_4K page table format
Hi all,
This is a new iteration on Panfrost support for AARCH64_4K page table
format. The main reason behind this patchset is that MediaTek MT8188 SoC
(ARM Mali-G57 MC3 GPU) constantly faults due to the actual Panfrost cache
configuration.
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 patchset 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.
The patchset only enables the new format on Mediatek MT8188 and MT8192,
which have been tested on a Mediatek Genio 700 EVK (MT8390) and Mediatek
Genio 1200 EVK (MT8395) boards respectively.
Thanks!
Changes in v2:
* Dropped panfrost_mmu_enable/disable unification.
* Rename gpu_configs as gpu_quirks.
* Added error handling on page table not properly aligned.
* Enabled AARCH64_4K format on MediaTek MT8192 as well.
* Minor fixes.
Changes in v1:
* Added "Set IOMMU_CACHE flag" patch.
* Replaced `panfrost_mmu->enable()` function pointer by `cfg` struct
prepared during init time.
* Made mali_lpae/aarch64_4k name more clear.
* Added GPU_CONFIG_AARCH64_4K flag to enable AARCH64_4K page table
format.
* Enabled AARCH64_4K mode only on mediatek-mt8188.
Ariel D'Alessandro (6):
drm/panfrost: Set IOMMU_CACHE flag
drm/panfrost: Use GPU_MMU_FEATURES_VA_BITS/PA_BITS macros
drm/panfrost: Set HW_FEATURE_AARCH64_MMU feature flag on Bifrost
models
drm/panfrost: Add support for AARCH64_4K page table format
drm/panfrost: Force AARCH64_4K page table format on MediaTek MT8188
drm/panfrost: Force AARCH64_4K page table format on MediaTek MT8192
drivers/gpu/drm/panfrost/panfrost_device.h | 16 ++
drivers/gpu/drm/panfrost/panfrost_drv.c | 2 +
drivers/gpu/drm/panfrost/panfrost_features.h | 3 +
drivers/gpu/drm/panfrost/panfrost_mmu.c | 146 +++++++++++++++++--
drivers/gpu/drm/panfrost/panfrost_regs.h | 36 +++++
5 files changed, 190 insertions(+), 13 deletions(-)
--
2.47.2
Powered by blists - more mailing lists