[PATCH v2 0/9] drm/panthor: Add GPU specific initialization framework to support new Mali GPUs

Karunika Choo
2025-03-20T11:18:14Z

This patch series introduces improvements and new features to the drm/panthor
driver, primarily focusing on extending support for additional Mali GPU
families.

Key changes:
- Implementation of 64-bit and polling register accessors
- Addition of GPU-specific initialization framework to standardize and
streamline support new GPUs.
- Support for cache maintenance via the GPU_CONTROL.GPU_COMMAND register.
- Support for Mali-G710, Mali-G715, Mali-G720, and Mali-G725 series of GPUs.

Patch Breakdown:
[PATCH 1-2]: Introduces 64-bit and poll register accessors, and updates
existing register accesses to use the new accessors.
[PATCH 3]: Implements the GPU-specific initialization framework to handle
differences between GPU architectures by enabling definition of
architecture-specific initialization routines.
[PATCH 4-5]: Refactors gpu_info initialization to use the initialization
framework to support differences in GPU registers for subsequent
GPUs, and at the same time simplifies and makes extensible the
process of determining the GPU model name.
[PATCH 6]: Adds support for the Mali-G715 Family of GPUs
[PATCH 7-8]: Adds support for the Mali-G720 and Mali-G725 series. It also
supports cache maintenance via the FLUSH_CACHES GPU command due
to deprecation of the FLUSH_MEM and FLUSH_PT MMU_AS commands.
[PATCH 9]: Adds support for Mali-G710, Mali-G510 and Mali-G310.

v2:
- Removed handling for register base addresses as they are not yet needed.
- Merged gpu_info handling into panthor_hw.c as they depend on the same arch_id
matching mechanism.
- Made gpu_info initialization a GPU-specific function.
- Removed unnecessary changes for cache maintenance via GPU_CONTROL.
- Removed unnecessary pre-parsing of register fields from v1. Retaining current
implementation as much as possible.
- Added support for G710, G715, G720, and G725 series of Mali GPUs.
- Link to v1: https://lore.kernel.org/all/20241219170521.64879-1-karunika.choo@arm.com/

Thanks,
Karunika Choo

Karunika Choo (9):
drm/panthor: Add 64-bit and poll register accessors
drm/panthor: Use 64-bit and poll register accessors
drm/panthor: Add GPU specific initialization framework
drm/panthor: Move GPU info initialization into panthor_hw.c
drm/panthor: Make getting GPU model name simple and extensible
drm/panthor: Add support for Mali-G715 family of GPUs
drm/panthor: Support GPU_CONTROL cache flush based on feature bit
drm/panthor: Add support for Mali-G720 and Mali-G725 GPUs
drm/panthor: Add support for Mali-G710, Mali-G510, and Mali-G310

drivers/gpu/drm/panthor/Makefile | 1 +
drivers/gpu/drm/panthor/panthor_device.c | 5 +
drivers/gpu/drm/panthor/panthor_device.h | 3 +
drivers/gpu/drm/panthor/panthor_fw.c | 14 +-
drivers/gpu/drm/panthor/panthor_gpu.c | 231 ++++-------------------
drivers/gpu/drm/panthor/panthor_hw.c | 216 +++++++++++++++++++++
drivers/gpu/drm/panthor/panthor_hw.h | 70 +++++++
drivers/gpu/drm/panthor/panthor_mmu.c | 69 ++++---
drivers/gpu/drm/panthor/panthor_regs.h | 83 ++++++++
include/uapi/drm/panthor_drm.h | 3 +
10 files changed, 471 insertions(+), 224 deletions(-)
create mode 100644 drivers/gpu/drm/panthor/panthor_hw.c
create mode 100644 drivers/gpu/drm/panthor/panthor_hw.h

--
2.47.1