From: Liviu Dudau <liviu.dudau@arm.com>
To: Karunika Choo <karunika.choo@arm.com>
Cc: dri-devel@lists.freedesktop.org, nd@arm.com,
Boris Brezillon <boris.brezillon@collabora.com>,
Steven Price <steven.price@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: Re: [PATCH v3 0/8] drm/panthor: Localize register access by component
Date: Thu, 30 Apr 2026 17:36:36 +0100 [thread overview]
Message-ID: <afOFFIdNqydY89eT@e142607> (raw)
In-Reply-To: <20260427155934.416502-1-karunika.choo@arm.com>
On Mon, Apr 27, 2026 at 04:59:26PM +0100, Karunika Choo wrote:
> Hi all,
>
> This series refactors the panthor register access paths so that each
> component uses its own local iomem base instead of relying on the
> global device mapping throughout the driver.
>
> Today a number of register definitions and helpers are still expressed
> in terms of the full device register space, which makes it easy for one
> component to reach into another component's registers.
>
> The series prepares the driver for a cleaner per-component layout in 3
> steps:
> - make the low-level GPU register helpers operate on an iomem pointer
> rather than a panthor_device pointer
> - split register definitions and move cross-component accesses behind
> helpers owned by the relevant component
> - convert GPU, PWR, firmware and MMU code to use component-local iomem
> bases, while keeping IRQ handling on a dedicated IRQ-local base.
>
> The end result is that register accesses become more obviously scoped to
> the component that owns them, cross-component register accesses are
> removed from callers, and the common IRQ helpers no longer depend on
> absolute register offsets.
>
> No functional change is intended.
>
> v3:
> - Picked up Acks and Reviewed-bys from Boris, Liviu, and Steve.
> - Cleaned up definition of pwr->iomem and pwr->irq.iomem.
> - Link to v2: https://lore.kernel.org/all/20260412142951.2309135-1-karunika.choo@arm.com/
> v2:
> - Picked up Acks from Boris.
> - Moved GPU_ID definitions into panthor_gpu_regs.h and deleted
> panthor_hw_regs.h
> - Fixed incorrect spelling of timestamp helper functions.
> - Changed IRQ request function to take an iomem pointer instead of an
> offset.
> - Update panthor_gpu_info_init() to use the correct block-local iomem
> pointers for register accesses.
> - Link to v1: https://lore.kernel.org/all/20260410164637.549145-1-karunika.choo@arm.com/
>
> Kind regards,
> Karunika
Pushed to drm-misc-next.
Best regards,
Liviu
>
> Karunika Choo (8):
> drm/panthor: Pass an iomem pointer to GPU register access helpers
> drm/panthor: Split register definitions by components
> drm/panthor: Replace cross-component register accesses with helpers
> drm/panthor: Store IRQ register base iomem pointer in panthor_irq
> drm/panthor: Use a local iomem base for GPU registers
> drm/panthor: Use a local iomem base for PWR registers
> drm/panthor: Use a local iomem base for firmware control registers
> drm/panthor: Use a local iomem base for MMU AS registers
>
> drivers/gpu/drm/panthor/panthor_device.c | 28 +-
> drivers/gpu/drm/panthor/panthor_device.h | 92 ++++---
> drivers/gpu/drm/panthor/panthor_drv.c | 7 +-
> drivers/gpu/drm/panthor/panthor_fw.c | 40 ++-
> drivers/gpu/drm/panthor/panthor_fw.h | 1 +
> drivers/gpu/drm/panthor/panthor_fw_regs.h | 29 ++
> drivers/gpu/drm/panthor/panthor_gpu.c | 101 +++++--
> drivers/gpu/drm/panthor/panthor_gpu.h | 6 +
> drivers/gpu/drm/panthor/panthor_gpu_regs.h | 119 +++++++++
> drivers/gpu/drm/panthor/panthor_heap.c | 2 +-
> drivers/gpu/drm/panthor/panthor_hw.c | 54 ++--
> drivers/gpu/drm/panthor/panthor_hw.h | 2 +-
> drivers/gpu/drm/panthor/panthor_mmu.c | 46 ++--
> drivers/gpu/drm/panthor/panthor_mmu_regs.h | 69 +++++
> drivers/gpu/drm/panthor/panthor_pwr.c | 93 ++++---
> drivers/gpu/drm/panthor/panthor_pwr_regs.h | 79 ++++++
> drivers/gpu/drm/panthor/panthor_regs.h | 291 ---------------------
> drivers/gpu/drm/panthor/panthor_sched.c | 5 +-
> 18 files changed, 584 insertions(+), 480 deletions(-)
> create mode 100644 drivers/gpu/drm/panthor/panthor_fw_regs.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_gpu_regs.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_mmu_regs.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_pwr_regs.h
> delete mode 100644 drivers/gpu/drm/panthor/panthor_regs.h
>
> --
> 2.43.0
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
prev parent reply other threads:[~2026-04-30 16:36 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-27 15:59 [PATCH v3 0/8] drm/panthor: Localize register access by component Karunika Choo
2026-04-27 15:59 ` [PATCH v3 1/8] drm/panthor: Pass an iomem pointer to GPU register access helpers Karunika Choo
2026-04-30 10:44 ` Boris Brezillon
2026-04-27 15:59 ` [PATCH v3 2/8] drm/panthor: Split register definitions by components Karunika Choo
2026-04-30 10:44 ` Boris Brezillon
2026-04-27 15:59 ` [PATCH v3 3/8] drm/panthor: Replace cross-component register accesses with helpers Karunika Choo
2026-04-30 10:45 ` Boris Brezillon
2026-04-27 15:59 ` [PATCH v3 4/8] drm/panthor: Store IRQ register base iomem pointer in panthor_irq Karunika Choo
2026-04-27 17:34 ` Liviu Dudau
2026-04-30 9:21 ` Steven Price
2026-04-30 10:43 ` Boris Brezillon
2026-04-27 15:59 ` [PATCH v3 5/8] drm/panthor: Use a local iomem base for GPU registers Karunika Choo
2026-04-27 15:59 ` [PATCH v3 6/8] drm/panthor: Use a local iomem base for PWR registers Karunika Choo
2026-04-27 17:37 ` Liviu Dudau
2026-04-30 9:21 ` Steven Price
2026-04-30 10:43 ` Boris Brezillon
2026-04-27 15:59 ` [PATCH v3 7/8] drm/panthor: Use a local iomem base for firmware control registers Karunika Choo
2026-04-30 10:44 ` Boris Brezillon
2026-04-27 15:59 ` [PATCH v3 8/8] drm/panthor: Use a local iomem base for MMU AS registers Karunika Choo
2026-04-30 10:44 ` Boris Brezillon
2026-04-30 16:36 ` Liviu Dudau [this message]
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=afOFFIdNqydY89eT@e142607 \
--to=liviu.dudau@arm.com \
--cc=airlied@gmail.com \
--cc=boris.brezillon@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=karunika.choo@arm.com \
--cc=linux-kernel@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.