From: Boris Brezillon <boris.brezillon@collabora.com>
To: Steven Price <steven.price@arm.com>
Cc: dri-devel@lists.freedesktop.org,
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>,
Faith Ekstrand <faith.ekstrand@collabora.com>,
kernel@collabora.com
Subject: Re: [PATCH v8 00/13] drm/panfrost,panthor: Cached maps and explicit flushing
Date: Tue, 9 Dec 2025 13:20:18 +0100 [thread overview]
Message-ID: <20251209132018.14e2848c@fedora> (raw)
In-Reply-To: <20251208100841.730527-1-boris.brezillon@collabora.com>
On Mon, 8 Dec 2025 11:08:27 +0100
Boris Brezillon <boris.brezillon@collabora.com> wrote:
> This series implements cached maps and explicit flushing for both panfrost
> and panthor.
>
> The PanVK MR to use this lives here:
>
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36385
>
> This version moves away from the code sharing proposed at the
> drm_prime/gem_shmem level and hand-roll a bunch of things that
> could potentially be shared. The goal here is to take the path
> of least resistance and discuss this controversial code-sharing
> topic in a follow-up MR. Dropping driver maintainers Cc-ed on v7
> since they should now be aware that we changed gears and hand-rolled
> our own thing in pan{thor,frost}.
>
> Changes in v2:
> - Expose the coherency so userspace can know when it should skip cache
> maintenance
> - Hook things up at drm_gem_object_funcs level to dma-buf cpu_prep hooks
> can be implemented generically
> - Revisit the semantics of the flags passed to gem_sync()
> - Add BO_QUERY_INFO ioctls to query BO flags on imported objects and
> let the UMD know when cache maintenance is needed on those
>
> Changes in v3:
> - New patch to fix panthor_gpu_coherency_set()
> - No other major changes, check each patch changelog for more details
>
> Changes in v4:
> - Two trivial fixes, check each patch changelog for more details
>
> Changes in v5:
> - Add a way to overload dma_buf_ops while still relying on the drm_prime
> boilerplate
> - Add default shmem implementation for
> dma_buf_ops::{begin,end}_cpu_access()
> - Provide custom dma_buf_ops to deal with CPU cache flushes around CPU
> accesses when the BO is CPU-cacheable
> - Go back to a version of drm_gem_shmem_sync() that only deals with
> cache maintenance, and adjust the semantics to make it clear this is
> the only thing it cares about
> - Adjust the BO_SYNC ioctls according to the new drm_gem_shmem_sync()
> semantics
>
> Changes in v6:
> - No major changes, check the changelog in each patch for more details
>
> Changes in v7:
> - Drop the drm_prime/gem_shmem helpers and duplicate the logic in
> panthor/panfrost
>
> Changes in v8:
> - Fix a double struct field assignment and collect R-b tags
>
> Boris Brezillon (8):
> drm/panthor: Provide a custom dma_buf implementation
> drm/panthor: Fix panthor_gpu_coherency_set()
> drm/panthor: Expose the selected coherency protocol to the UMD
> drm/panthor: Add a PANTHOR_BO_SYNC ioctl
> drm/panthor: Add an ioctl to query BO flags
> drm/panfrost: Provide a custom dma_buf implementation
> drm/panfrost: Expose the selected coherency protocol to the UMD
> drm/panfrost: Add an ioctl to query BO flags
>
> Faith Ekstrand (4):
> drm/panthor: Bump the driver version to 1.7
> drm/panfrost: Add a PANFROST_SYNC_BO ioctl
> drm/panfrost: Add flag to map GEM object Write-Back Cacheable
> drm/panfrost: Bump the driver version to 1.6
>
> Loïc Molinari (1):
> drm/panthor: Add flag to map GEM object Write-Back Cacheable
Queued to drm-misc-next.
>
> drivers/gpu/drm/panfrost/panfrost_device.h | 1 +
> drivers/gpu/drm/panfrost/panfrost_drv.c | 101 ++++++++-
> drivers/gpu/drm/panfrost/panfrost_gem.c | 239 ++++++++++++++++++++
> drivers/gpu/drm/panfrost/panfrost_gem.h | 10 +
> drivers/gpu/drm/panfrost/panfrost_gpu.c | 26 ++-
> drivers/gpu/drm/panfrost/panfrost_regs.h | 10 +-
> drivers/gpu/drm/panthor/panthor_device.c | 10 +-
> drivers/gpu/drm/panthor/panthor_drv.c | 79 ++++++-
> drivers/gpu/drm/panthor/panthor_gem.c | 240 ++++++++++++++++++++-
> drivers/gpu/drm/panthor/panthor_gem.h | 6 +
> drivers/gpu/drm/panthor/panthor_gpu.c | 2 +-
> drivers/gpu/drm/panthor/panthor_sched.c | 18 +-
> include/uapi/drm/panfrost_drm.h | 76 ++++++-
> include/uapi/drm/panthor_drm.h | 157 +++++++++++++-
> 14 files changed, 953 insertions(+), 22 deletions(-)
>
prev parent reply other threads:[~2025-12-09 12:20 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-08 10:08 [PATCH v8 00/13] drm/panfrost, panthor: Cached maps and explicit flushing Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 01/13] drm/panthor: Provide a custom dma_buf implementation Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 02/13] drm/panthor: Fix panthor_gpu_coherency_set() Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 03/13] drm/panthor: Expose the selected coherency protocol to the UMD Boris Brezillon
2025-12-09 9:42 ` Karunika Choo
2025-12-08 10:08 ` [PATCH v8 04/13] drm/panthor: Add a PANTHOR_BO_SYNC ioctl Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 05/13] drm/panthor: Add an ioctl to query BO flags Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 06/13] drm/panthor: Add flag to map GEM object Write-Back Cacheable Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 07/13] drm/panthor: Bump the driver version to 1.7 Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 08/13] drm/panfrost: Provide a custom dma_buf implementation Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 09/13] drm/panfrost: Expose the selected coherency protocol to the UMD Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 10/13] drm/panfrost: Add a PANFROST_SYNC_BO ioctl Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 11/13] drm/panfrost: Add an ioctl to query BO flags Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 12/13] drm/panfrost: Add flag to map GEM object Write-Back Cacheable Boris Brezillon
2025-12-08 10:08 ` [PATCH v8 13/13] drm/panfrost: Bump the driver version to 1.6 Boris Brezillon
2025-12-09 12:20 ` 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=20251209132018.14e2848c@fedora \
--to=boris.brezillon@collabora.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=faith.ekstrand@collabora.com \
--cc=kernel@collabora.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--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.