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.c...@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