All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] drm/v3d: Idle AXI transactions before cutting the clock on suspend
@ 2026-07-18 13:44 Maíra Canal
  2026-07-18 13:44 ` [PATCH 1/2] drm/v3d: Reach the GMP through the hub registers on V3D 7.x Maíra Canal
  2026-07-18 13:44 ` [PATCH 2/2] drm/v3d: Idle AXI transactions before disabling the clock on suspend Maíra Canal
  0 siblings, 2 replies; 4+ messages in thread
From: Maíra Canal @ 2026-07-18 13:44 UTC (permalink / raw)
  To: Melissa Wen, Iago Toral Quiroga, Florian Fainelli
  Cc: kernel-dev, dri-devel, stable, Maíra Canal

This series fixes a GPU hang seen on the first job submitted after a
runtime PM resume [1][2]. v3d_power_suspend() disables the GPU clock
without first quiescing the memory interface (AXI), so if the core still
has outstanding transactions in flight the hardware freezes
mid-transaction. That corrupted state survives the power cycle and surfaces
on resume as a GPU hang with an L2T "pte invalid" MMU fault.

The driver already implements the hardware's safe-powerdown sequence
(v3d_idle_axi(), plus v3d_idle_gca() on pre-4.1 HW), but the runtime PM
support added later never invoked it on powerdown.

Patch 1 fixes the GMP register access used by that sequence: on V3D 7.x
the GMP moved out of the per-core block into the hub register region, so
v3d_idle_axi() was touching the wrong registers. It comes first so the
sequence is correct on 7.x before patch 2 starts relying on it.

Patch 2 runs the safe-powerdown sequence in v3d_power_suspend(), while the
core is still powered, letting outstanding reads/writes drain before the
clock is disabled.

[1] https://github.com/raspberrypi/linux/issues/7443
[2] https://github.com/raspberrypi/linux/issues/7488

Best regards,
- Maíra

---
Maíra Canal (2):
      drm/v3d: Reach the GMP through the hub registers on V3D 7.x
      drm/v3d: Idle AXI transactions before disabling the clock on suspend

 drivers/gpu/drm/v3d/v3d_drv.h   |  2 ++
 drivers/gpu/drm/v3d/v3d_gem.c   | 16 ++++++++++++++--
 drivers/gpu/drm/v3d/v3d_power.c |  7 +++++++
 3 files changed, 23 insertions(+), 2 deletions(-)
---
base-commit: b0a652436b892eb9a036a031b33099dca036faaa
change-id: 20260717-v3d-pm-axi-transactions-acb8f01f1683


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-07-18 13:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-18 13:44 [PATCH 0/2] drm/v3d: Idle AXI transactions before cutting the clock on suspend Maíra Canal
2026-07-18 13:44 ` [PATCH 1/2] drm/v3d: Reach the GMP through the hub registers on V3D 7.x Maíra Canal
2026-07-18 13:44 ` [PATCH 2/2] drm/v3d: Idle AXI transactions before disabling the clock on suspend Maíra Canal
2026-07-18 13:59   ` sashiko-bot

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.