All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@collabora.com>
To: Steven Price <steven.price@arm.com>,
	Liviu Dudau <liviu.dudau@arm.com>, Chia-I Wu <olvaffe@gmail.com>
Cc: 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>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v7 0/9] drm/panthor: Reduce dma_fence signalling latency
Date: Thu, 27 Aug 2026 09:19:59 +0200	[thread overview]
Message-ID: <20260827091959.6faf45bc@fedora-21.home> (raw)
In-Reply-To: <20260825-panthor-signal-from-irq-v7-0-ebb5b4c891a4@collabora.com>

On Tue, 25 Aug 2026 10:01:21 +0200
Boris Brezillon <boris.brezillon@collabora.com> wrote:

> 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
> slightly over the few usec (20+ usecs) we usually expect from
> hardird handlers, 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>

Queued to drm-misc-next.

> ---
> Changes in v7:
> - Adjust scg_slots comment to reflect the fact the priority field needs
>   to be accessed with panthor_scheduler::lock held
> - Don't disable IRQs when acquiring the fdinfo lock
> - Link to v6: https://patch.msgid.link/20260811-panthor-signal-from-irq-v6-0-12f2ab53d735@collabora.com
> 
> Changes in v6:
> - Rebase on drm-misc-next
> - Link to v5: https://lore.kernel.org/r/20260625-panthor-signal-from-irq-v5-0-8836a74e0ef9@collabora.com
> 
> Changes in v5:
> - Add a fix for a theoretical IOMEM access in suspended state (patch 1)
> - Make sure we don't delay a pending immediate tick in
>   sched_resume_tick() (patch 2)
> - Make sure we initialize panthor_irq::state properly in the irq_request
>   helper
> - Link to v4: https://lore.kernel.org/r/20260625-panthor-signal-from-irq-v4-0-3d2908912afa@collabora.com
> 
> Changes in v4:
> - Add a bunch of fixes for bugs reported by shashiko
> - Link to v3: https://lore.kernel.org/r/20260623-panthor-signal-from-irq-v3-0-2ece396f8ee0@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 (9):
>       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: Don't update might_have_idle_groups in process_idle_event_locked()
>       drm/panthor: Get rid of panthor_group::fatal_lock
>       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 | 286 ++++++++---------
>  drivers/gpu/drm/panthor/panthor_fw.c     |  22 +-
>  drivers/gpu/drm/panthor/panthor_gpu.c    |  28 +-
>  drivers/gpu/drm/panthor/panthor_mmu.c    |  39 +--
>  drivers/gpu/drm/panthor/panthor_pwr.c    |  24 +-
>  drivers/gpu/drm/panthor/panthor_sched.c  | 518 +++++++++++++++----------------
>  6 files changed, 452 insertions(+), 465 deletions(-)
> ---
> base-commit: b961eb36d7b04147104cff2fd8bc0e94f4713324
> change-id: 20260429-panthor-signal-from-irq-d33684f4d292
> 
> Best regards,
> --  
> Boris Brezillon <boris.brezillon@collabora.com>
> 


      parent reply	other threads:[~2026-08-27  7:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-25  8:01 [PATCH v7 0/9] drm/panthor: Reduce dma_fence signalling latency Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 1/9] drm/panthor: Make panthor_irq::state a non-atomic field Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 2/9] drm/panthor: Move the register accessors before the IRQ helpers Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 3/9] drm/panthor: Replace the panthor_irq macro machinery by inline helpers Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 4/9] drm/panthor: Don't update might_have_idle_groups in process_idle_event_locked() Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 5/9] drm/panthor: Get rid of panthor_group::fatal_lock Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 6/9] drm/panthor: Protect events processing with a separate spinlock Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 7/9] drm/panthor: Don't defer job completion checks Boris Brezillon
2026-08-25  8:01 ` [PATCH v7 8/9] drm/panthor: Don't defer FW event processing Boris Brezillon
2026-08-25  8:21   ` sashiko-bot
2026-08-25  8:01 ` [PATCH v7 9/9] drm/panthor: Automate CSG IRQ processing at group unbind time Boris Brezillon
2026-08-27  7:19 ` Boris Brezillon [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=20260827091959.6faf45bc@fedora-21.home \
    --to=boris.brezillon@collabora.com \
    --cc=airlied@gmail.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=olvaffe@gmail.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.