From: Karunika Choo <karunika.choo@arm.com>
To: dri-devel@lists.freedesktop.org
Cc: nd@arm.com, Boris Brezillon <boris.brezillon@collabora.com>,
Steven Price <steven.price@arm.com>,
Liviu Dudau <liviu.dudau@arm.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
linux-kernel@vger.kernel.org
Subject: [PATCH v6 0/6] Add support for new Mali GPUs
Date: Mon, 21 Jul 2025 22:35:22 +0100 [thread overview]
Message-ID: <20250721213528.2885035-1-karunika.choo@arm.com> (raw)
This patch series introduces some minor refactoring to enable support
for new Mali GPUs.
Key changes:
- Addition of cache maintenance via the FLUSH_CACHES GPU command for all
supported GPUs in place of FLUSH_MEM and FLUSH_PT MMU_AS commands.
- Added SHAREABLE_CACHE support for GPUs from Mali-Gx20 onwards if
coherency is enabled.
- Fixed minor issue with the setting of the coherency protocol.
Firmware for these GPUs can be found here:
https://gitlab.com/dliviu/linux-firmware
Patch Breakdown:
[PATCH 1]: Adds panthor_hw and refactors gpu_info initialization into
it, laying the foundation for subsequent changes.
[PATCH 2]: Simplifies the method of determining the GPU model name
while making it more extensible.
[PATCH 3]: Adds support for Mali-G710, Mali-G510 and Mali-G310.
[PATCH 4]: Adds support for Mali-Gx15 GPUs.
[PATCH 5]: Adds cache maintenance via FLUSH_CACHES GPU command due to
the deprecation of FLUSH_MEM and FLUSH_PT MMU_AS commands
from Mali-Gx20 onwards. This feature is extended to all
previous GPUs as this method of cache maintenance is
already supported.
[PATCH 6]: Adds support for Mali-Gx20 and Mali-Gx25 GPUs. This also
adds SHAREABLE_CACHE support, in addition to fixing a minor
issue with setting the coherency protocol.
v6:
- Picked up R-bs from Liviu.
- Removed unused register definitions for PATCH 4 and 6.
- Link to v5: https://lore.kernel.org/all/20250721111344.1610250-1-karunika.choo@arm.com/
v5:
- Removed all of the GPU-specific initialization boilerplate as it was
not being used.
- Merged [PATCH 1/7] and [PATCH 2/7] into one.
- Fixed issue with getting model name before the gpu_info struct is
populated.
- Merged AMBA_FEATURES and AMBA_ENABLE into GPU_COHERENCY_FEATURES and
GPU_COHERENCY_PROTOCOL registers respectively. Reworked the fields of
GPU_COHERENCY_FEATURES and added SHAREABLE_CACHE support.
- Link to v4: https://lore.kernel.org/all/20250602143216.2621881-1-karunika.choo@arm.com/
v4:
- 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/
v3:
- Kindly ignore this patch series as there were duplicate patches being
included.
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/
Karunika Choo (6):
drm/panthor: Add panthor_hw and move gpu_info initialization into it
drm/panthor: Simplify getting the GPU model name
drm/panthor: Add support for Mali-G710, Mali-G510 and Mali-G310
drm/panthor: Add support for Mali-Gx15 family of GPUs
drm/panthor: Make MMU cache maintenance use FLUSH_CACHES command
drm/panthor: Add support for Mali-Gx20 and Mali-Gx25 GPUs
drivers/gpu/drm/panthor/Makefile | 1 +
drivers/gpu/drm/panthor/panthor_device.c | 7 +-
drivers/gpu/drm/panthor/panthor_fw.c | 5 +
drivers/gpu/drm/panthor/panthor_gpu.c | 103 ++-----------------
drivers/gpu/drm/panthor/panthor_hw.c | 125 +++++++++++++++++++++++
drivers/gpu/drm/panthor/panthor_hw.h | 11 ++
drivers/gpu/drm/panthor/panthor_mmu.c | 33 ++++++
drivers/gpu/drm/panthor/panthor_regs.h | 8 +-
include/uapi/drm/panthor_drm.h | 3 +
9 files changed, 200 insertions(+), 96 deletions(-)
create mode 100644 drivers/gpu/drm/panthor/panthor_hw.c
create mode 100644 drivers/gpu/drm/panthor/panthor_hw.h
--
2.49.0
next reply other threads:[~2025-07-21 21:36 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-21 21:35 Karunika Choo [this message]
2025-07-21 21:35 ` [PATCH v6 1/6] drm/panthor: Add panthor_hw and move gpu_info initialization into it Karunika Choo
2025-07-21 21:35 ` [PATCH v6 2/6] drm/panthor: Simplify getting the GPU model name Karunika Choo
2025-07-21 21:35 ` [PATCH v6 3/6] drm/panthor: Add support for Mali-G710, Mali-G510 and Mali-G310 Karunika Choo
2025-07-21 21:35 ` [PATCH v6 4/6] drm/panthor: Add support for Mali-Gx15 family of GPUs Karunika Choo
2025-07-24 5:40 ` Chia-I Wu
2025-07-24 8:53 ` Karunika Choo
2025-07-21 21:35 ` [PATCH v6 5/6] drm/panthor: Make MMU cache maintenance use FLUSH_CACHES command Karunika Choo
2025-07-21 21:35 ` [PATCH v6 6/6] drm/panthor: Add support for Mali-Gx20 and Mali-Gx25 GPUs Karunika Choo
2025-07-24 5:56 ` Chia-I Wu
2025-07-24 5:58 ` [PATCH v6 0/6] Add support for new Mali GPUs Chia-I Wu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250721213528.2885035-1-karunika.choo@arm.com \
--to=karunika.choo@arm.com \
--cc=airlied@gmail.com \
--cc=boris.brezillon@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liviu.dudau@arm.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=nd@arm.com \
--cc=simona@ffwll.ch \
--cc=steven.price@arm.com \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®