[PATCH v1 4/6] drm/panfrost: Add support for AARCH64_4K page table format
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Tue Mar 11 02:14:44 PDT 2025
Il 11/03/25 09:05, Boris Brezillon ha scritto:
> On Mon, 10 Mar 2025 16:59:19 -0300
> Ariel D'Alessandro <ariel.dalessandro at collabora.com> 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 configurations" 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.dalessandro at collabora.com>
>> ---
>> drivers/gpu/drm/panfrost/panfrost_device.h | 16 +++
>> drivers/gpu/drm/panfrost/panfrost_mmu.c | 132 +++++++++++++++++++--
>> drivers/gpu/drm/panfrost/panfrost_regs.h | 34 ++++++
>> 3 files changed, 169 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/panfrost/panfrost_device.h b/drivers/gpu/drm/panfrost/panfrost_device.h
>> index cffcb0ac7c111..0385702aa43c7 100644
>> --- a/drivers/gpu/drm/panfrost/panfrost_device.h
>> +++ b/drivers/gpu/drm/panfrost/panfrost_device.h
>> @@ -42,6 +42,14 @@ enum panfrost_gpu_pm {
>> GPU_PM_VREG_OFF,
>> };
>>
>> +/**
>> + * enum panfrost_gpu_config - GPU optional configurations
>> + * @GPU_CONFIG_AARCH64_4K: Use AARCH64_4K page table format
>> + */
>> +enum panfrost_gpu_config {
>> + GPU_CONFIG_AARCH64_4K,
>> +};
>> +
>> struct panfrost_features {
>> u16 id;
>> u16 revision;
>> @@ -95,6 +103,9 @@ struct panfrost_compatible {
>>
>> /* Allowed PM features */
>> u8 pm_features;
>> +
>> + /* GPU features */
>> + u8 gpu_configs;
>
> I would probably name this gpu_quirks, with the GPU_CONFIG_AARCH64_4K
> flag renamed GPU_QUIRK_FORCE_AARCH64_PAGE_TABLE.
>
Boris, at this point the quirk should be LPAE, not AARCH64_4K, because the
former is legacy...
I think that Ariel is right in this, as in, that's a capability of the GPU
MMU, so if anything I would rather rename it to gpu_capabilities, but then
that'd be confusing for other stuff - which means that gpu_configs is most
probably the least confusing and/or most appropriate name for this.
Of course, just IMO.
Cheers,
Angelo
>> };
>>
More information about the linux-arm-kernel
mailing list