[PATCH v3 0/7] Add GPU specific initialization framework to support new Mali GPUs

Karunika Choo karunika.choo at arm.com
Mon Jun 2 14:08:04 UTC 2025


This patch series introduces a GPU HW abstraction to Panthor, to enable
support for new Mali GPUs.

Key changes:
- Addition of GPU-specific initialization framework to standardize and
  streamline support new GPUs.
- Support for cache maintenance via the FLUSH_CACHES GPU command.
- Support for Mali-Gx10, Mali-Gx15, Mali-Gx20, and Mali-Gx25 GPUs.

Firmware for these GPUs can be found here:
https://gitlab.com/dliviu/linux-firmware

Patch Breakdown:
[PATCH 1]:   Implements the GPU-specific initialization framework to
             handle differences between GPU architectures by enabling
             definition of architecture-specific initialization routines
[PATCH 2-3]: Refactors gpu_info initialization in preparation for GPU
             register changes and at the same time simplifies and makes
             extensible the process of determining the GPU model name.
[PATCH 4]:   Adds support for Mali-G710, Mali-G510 and Mali-G310.
[PATCH 5]:   Adds support for Mali-Gx15 GPUs.
[PATCH 6]:   Adds cache maintenance via the FLUSH_CACHES GPU command due
             to deprecation of FLUSH_MEM and FLUSH_PT MMU_AS commands
             from Mali-Gx20 onwards.
[PATCH 7]:   Adds support for Mali-Gx20 and Mali-Gx25 GPUs.

v3:
- Split 64-bit register accessor patches into another patch series.
  - link: https://lore.kernel.org/dri-devel/20250417123725.2733201-1-karunika.choo@arm.com/
- Switched to using arch_major for comparison instead of arch_id in
  panthor_hw.c.
- Removed the gpu_info_init function pointer in favour of a single
  function to handle minor register changes. The function names have
  also been adjusted accordingly.
- Moved the patch to support Mali-G710, Mali-G510 and Mali-G310 forwards
  to [PATCH 4/7].
- Extended support to perform cache maintenance via GPU_CONTROL to
  Mali-Gx10 and Mali-Gx15 GPUs.
- Link to v2: https://lore.kernel.org/all/20250320111741.1937892-1-karunika.choo@arm.com/
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 (7):
  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-G710, Mali-G510 and Mali-G310
  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

 drivers/gpu/drm/panthor/Makefile         |   1 +
 drivers/gpu/drm/panthor/panthor_device.c |   5 +
 drivers/gpu/drm/panthor/panthor_device.h |   4 +
 drivers/gpu/drm/panthor/panthor_fw.c     |   5 +
 drivers/gpu/drm/panthor/panthor_gpu.c    |  95 -----------
 drivers/gpu/drm/panthor/panthor_hw.c     | 197 +++++++++++++++++++++++
 drivers/gpu/drm/panthor/panthor_hw.h     |  66 ++++++++
 drivers/gpu/drm/panthor/panthor_mmu.c    |  35 ++++
 drivers/gpu/drm/panthor/panthor_regs.h   |  25 +++
 include/uapi/drm/panthor_drm.h           |   3 +
 10 files changed, 341 insertions(+), 95 deletions(-)
 create mode 100644 drivers/gpu/drm/panthor/panthor_hw.c
 create mode 100644 drivers/gpu/drm/panthor/panthor_hw.h

-- 
2.49.0



More information about the dri-devel mailing list