This patch series extends the Panthor driver with basic support for
Mali-G1 GPUs.
The v14 architecture introduces several hardware and register-level
changes compared to prior GPUs. This series adds the necessary
architecture-specific support infrastructure, power control and reset
handling for Mali-G1 GPUs.
Patch Breakdown:
[Patch 1-2]: Refactor panthor_hw to introduce architecture-specific
hooks and abstractions to support the v14 architecture.
These patches introduce architecture-specific HW binding
for function pointers.
[Patch 3-5]: Adds basic L2 power on/off and soft reset support for the
PWR_CONTROL block introduced in v14.
[Patch 6]: Update MCU halt and warm boot operations to reflect the
GLB_REQ.STATE changes in v14. This ensures that the MCU is
properly halted and the correct operations are performed
on warm boot depending on the FW version.
[Patch 7]: Align endpoint_req with changes introduced in v14, where
the register is widened to 64-bit and shifed down by
4-bytes. This patch adds the necessary infrastructure to
discern the correct endpoint_req register to use.
[Patch 8]: Enables Mali-G1 support on Panthor by adding HW bindings
for v14 architecture, product names and path to FW binary.
v4:
* Fixed include and forward declaration issues.
* Addressed code format issues.
* Picked up R-bs from Steve.
* Link to v3:
https://lore.kernel.org/all/[email protected]/
v3:
* Updated include logic to enable static inline functions in
panthor_hw.h for function pointers and feature checks.
* Fixed missed replacement of CSF_IFACE_VERSION check with
panthor_fw_has_glb_state() check.
* Link to v2:
https://lore.kernel.org/all/[email protected]/
v2:
* Merged GPU_ID refactoring patch with the arch-specific panthor_hw
binding patch (formerly PATCH 01/10 and PATCH 02/10).
* Dropped panthor_hw feature bitmap patch in favor of functions that
performs the relevant architecture version checks.
* Fixed kernel test bot warnings.
* Replaced function pointer accessor MACROs with static inline
functions.
* Refined power control logic, removed unnecessary checks and redundant
stubs.
* Replaced explicit CSG_IFACE_VERSION checks with functions describing
the feature being checked for.
* General readability improvements, more consistent error handling,
behaviour clarifications, and formatting fixes.
* Link to v1:
https://lore.kernel.org/all/[email protected]/
Karunika Choo (8):
drm/panthor: Add arch-specific panthor_hw binding
drm/panthor: Add architecture-specific function operations
drm/panthor: Introduce panthor_pwr API and power control framework
drm/panthor: Implement L2 power on/off via PWR_CONTROL
drm/panthor: Implement soft reset via PWR_CONTROL
drm/panthor: Support GLB_REQ.STATE field for Mali-G1 GPUs
drm/panthor: Support 64-bit endpoint_req register for Mali-G1
drm/panthor: Add support for Mali-G1 GPUs
drivers/gpu/drm/panthor/Makefile | 1 +
drivers/gpu/drm/panthor/panthor_device.c | 18 +-
drivers/gpu/drm/panthor/panthor_device.h | 8 +
drivers/gpu/drm/panthor/panthor_fw.c | 131 +++++-
drivers/gpu/drm/panthor/panthor_fw.h | 32 +-
drivers/gpu/drm/panthor/panthor_gpu.c | 12 +-
drivers/gpu/drm/panthor/panthor_gpu.h | 1 +
drivers/gpu/drm/panthor/panthor_hw.c | 107 ++++-
drivers/gpu/drm/panthor/panthor_hw.h | 47 +-
drivers/gpu/drm/panthor/panthor_pwr.c | 549 +++++++++++++++++++++++
drivers/gpu/drm/panthor/panthor_pwr.h | 23 +
drivers/gpu/drm/panthor/panthor_regs.h | 79 ++++
drivers/gpu/drm/panthor/panthor_sched.c | 21 +-
13 files changed, 989 insertions(+), 40 deletions(-)
create mode 100644 drivers/gpu/drm/panthor/panthor_pwr.c
create mode 100644 drivers/gpu/drm/panthor/panthor_pwr.h
--
2.49.0