public inbox for drm-ai-reviews@public-inbox.freedesktop.org
 help / color / mirror / Atom feed
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 0/8] drm/panthor: Localize register access by component
Date: Fri, 10 Apr 2026 17:46:29 +0100	[thread overview]
Message-ID: <20260410164637.549145-1-karunika.choo@arm.com> (raw)

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.

Patch overview:
  1. drm/panthor: Pass an iomem pointer to GPU register access helpers
  2. drm/panthor: Split register definitions by components
  3. drm/panthor: Replace cross-component register accesses with helpers
  4. drm/panthor: Store IRQ register base iomem pointer in panthor_irq
  5. drm/panthor: Use a local iomem base for GPU registers
  6. drm/panthor: Use a local iomem base for PWR registers
  7. drm/panthor: Use a local iomem base for MCU_CONTROL registers
  8. drm/panthor: Use a local iomem base for MMU_AS registers

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       |  41 +--
 drivers/gpu/drm/panthor/panthor_fw.h       |   1 +
 drivers/gpu/drm/panthor/panthor_fw_regs.h  |  29 ++
 drivers/gpu/drm/panthor/panthor_gpu.c      | 100 +++++--
 drivers/gpu/drm/panthor/panthor_gpu.h      |   6 +
 drivers/gpu/drm/panthor/panthor_gpu_regs.h | 110 ++++++++
 drivers/gpu/drm/panthor/panthor_heap.c     |   2 +-
 drivers/gpu/drm/panthor/panthor_hw.c       |  50 ++--
 drivers/gpu/drm/panthor/panthor_hw.h       |   2 +-
 drivers/gpu/drm/panthor/panthor_hw_regs.h  |  16 ++
 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 +-
 19 files changed, 586 insertions(+), 481 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_hw_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


             reply	other threads:[~2026-04-10 16:47 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-10 16:46 Karunika Choo [this message]
2026-04-10 16:46 ` [PATCH 1/8] drm/panthor: Pass an iomem pointer to GPU register access helpers Karunika Choo
2026-04-10 18:11   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-10 16:46 ` [PATCH 2/8] drm/panthor: Split register definitions by components Karunika Choo
2026-04-10 18:08   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-10 16:46 ` [PATCH 3/8] drm/panthor: Replace cross-component register accesses with helpers Karunika Choo
2026-04-10 17:55   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-10 16:46 ` [PATCH 4/8] drm/panthor: Store IRQ register base iomem pointer in panthor_irq Karunika Choo
2026-04-10 17:53   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-10 16:46 ` [PATCH 5/8] drm/panthor: Use a local iomem base for GPU registers Karunika Choo
2026-04-10 18:11   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-10 16:46 ` [PATCH 6/8] drm/panthor: Use a local iomem base for PWR registers Karunika Choo
2026-04-10 18:12   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-10 16:46 ` [PATCH 7/8] drm/panthor: Use a local iomem base for firmware control registers Karunika Choo
2026-04-10 18:12   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-10 16:46 ` [PATCH 8/8] drm/panthor: Use a local iomem base for MMU AS registers Karunika Choo
2026-04-10 18:13   ` Boris Brezillon
2026-04-11 23:38   ` Claude review: " Claude Code Review Bot
2026-04-11 23:38 ` Claude review: drm/panthor: Localize register access by component Claude Code Review Bot

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=20260410164637.549145-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