All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/7] drm/panthor: Reduce dma_fence signalling latency
@ 2026-06-23 12:51 Boris Brezillon
  2026-06-23 12:51 ` [PATCH v3 1/7] drm/panthor: Make panthor_irq::state a non-atomic field Boris Brezillon
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Boris Brezillon @ 2026-06-23 12:51 UTC (permalink / raw)
  To: Steven Price, Liviu Dudau, Chia-I Wu
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, dri-devel, linux-kernel, Boris Brezillon

Right now, panthor is one of the rare drivers to signal fences
from work items (not even from the threaded IRQ handler). We
tried moving the job_completion check to hardirq handlers like
other drivers do, but the duration of this handler gets too
slightly over the few usec (20+ usecs) and we're not sure we
want to hold off the processing of other interrupts for that
long. So this series just gets rid of the threaded-handler ->
work_item indirection and checks for job completion (and thus,
fence signalling) directly in the threaded handler.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
---
Changes in v3:
- Save/restore the irq state in the raw handler.
- Rename panthor_irq::mask_lock into panthor_irq::lock
- Use the __always_inline specifier on
  panthor_irq_default_threaded_handler()
- Use devm_request_threaded_irq() even when the threaded handler is
  NULL
- Drop the patch that dynamically enables request-related interrupts
  (FW-side race) after the polling period has expired
- Don't process FW events from the hardirq handler (too heavy for an
  hardirq handler according to our testing)
- Link to v2: https://lore.kernel.org/r/20260512-panthor-signal-from-irq-v2-0-95c614a739cb@collabora.com

Changes in v2:
- Fix commit message in patch 4
- Move devm_kasprintf() before panthor_irq_resume() in patch 3
- Fix erroneous lockdep_assert_held() in patch 6
- Make sure events_lock is held when calling
  csg_slot_sync_update_locked() in patch 6
- Restore a csg_slot_sync_update_locked() call in patch 7
- Fix a potential deadlock in patch 9
- Drop the IRQ coalescing patch (formerly patch 10)
- Change panthor_irq_request() so we don't have to define a dummy
  threaded handler, and we can let RT kernels move the hard handler
  to a thread
- Add patches to transition GPU event processing to the hard IRQ handler
- Link to v1: https://lore.kernel.org/r/20260429-panthor-signal-from-irq-v1-0-4b92ae4142d2@collabora.com

---
Boris Brezillon (7):
      drm/panthor: Make panthor_irq::state a non-atomic field
      drm/panthor: Move the register accessors before the IRQ helpers
      drm/panthor: Replace the panthor_irq macro machinery by inline helpers
      drm/panthor: Protect events processing with a separate spinlock
      drm/panthor: Don't defer job completion checks
      drm/panthor: Don't defer FW event processing
      drm/panthor: Automate CSG IRQ processing at group unbind time

 drivers/gpu/drm/panthor/panthor_device.h | 280 +++++++++----------
 drivers/gpu/drm/panthor/panthor_fw.c     |  22 +-
 drivers/gpu/drm/panthor/panthor_gpu.c    |  26 +-
 drivers/gpu/drm/panthor/panthor_mmu.c    |  37 +--
 drivers/gpu/drm/panthor/panthor_pwr.c    |  20 +-
 drivers/gpu/drm/panthor/panthor_sched.c  | 460 ++++++++++++++-----------------
 6 files changed, 414 insertions(+), 431 deletions(-)
---
base-commit: ac5ac0acf11df04295eb1811066097b7022d6c7f
change-id: 20260429-panthor-signal-from-irq-d33684f4d292

Best regards,
-- 
Boris Brezillon <boris.brezillon@collabora.com>


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

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

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 12:51 [PATCH v3 0/7] drm/panthor: Reduce dma_fence signalling latency Boris Brezillon
2026-06-23 12:51 ` [PATCH v3 1/7] drm/panthor: Make panthor_irq::state a non-atomic field Boris Brezillon
2026-06-23 12:51 ` [PATCH v3 2/7] drm/panthor: Move the register accessors before the IRQ helpers Boris Brezillon
2026-06-23 12:51 ` [PATCH v3 3/7] drm/panthor: Replace the panthor_irq macro machinery by inline helpers Boris Brezillon
2026-06-23 13:02   ` sashiko-bot
2026-06-23 12:51 ` [PATCH v3 4/7] drm/panthor: Protect events processing with a separate spinlock Boris Brezillon
2026-06-23 13:07   ` sashiko-bot
2026-06-23 12:51 ` [PATCH v3 5/7] drm/panthor: Don't defer job completion checks Boris Brezillon
2026-06-23 12:51 ` [PATCH v3 6/7] drm/panthor: Don't defer FW event processing Boris Brezillon
2026-06-23 12:51 ` [PATCH v3 7/7] drm/panthor: Automate CSG IRQ processing at group unbind time Boris Brezillon
2026-06-23 13:04   ` 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.