All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alexandre Courbot" <acourbot@nvidia.com>
To: "Lyude Paul" <lyude@redhat.com>
Cc: <nouveau@lists.freedesktop.org>, "Gary Guo" <gary@garyguo.net>,
	"Daniel Almeida" <daniel.almeida@collabora.com>,
	<rust-for-linux@vger.kernel.org>,
	"Danilo Krummrich" <dakr@kernel.org>,
	<dri-devel@lists.freedesktop.org>,
	"Matthew Maurer" <mmaurer@google.com>,
	"FUJITA Tomonori" <fujita.tomonori@gmail.com>,
	"Lorenzo Stoakes" <lorenzo.stoakes@oracle.com>,
	<christian.koenig@amd.com>, "Asahi Lina" <lina@asahilina.net>,
	"Miguel Ojeda" <ojeda@kernel.org>,
	"Andreas Hindborg" <a.hindborg@kernel.org>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Boqun Feng" <boqun@kernel.org>,
	"Sumit Semwal" <sumit.semwal@linaro.org>,
	"Krishna Ketan Rai" <prafulrai522@gmail.com>,
	<linux-media@vger.kernel.org>,
	"Shankari Anand" <shankari.ak0208@gmail.com>,
	"David Airlie" <airlied@gmail.com>,
	"Benno Lossin" <lossin@kernel.org>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	<linaro-mm-sig@lists.linaro.org>,
	"Asahi Lina" <lina+kernel@asahilina.net>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	<kernel@vger.kernel.org>
Subject: Re: [PATCH v10 2/5] drm/gem/shmem: Introduce __drm_gem_shmem_free_sgt_locked()
Date: Fri, 10 Apr 2026 16:54:58 +0900	[thread overview]
Message-ID: <DHPBAILUGZYZ.2VQIBNVRTP7PB@nvidia.com> (raw)
In-Reply-To: <20260409001559.622026-3-lyude@redhat.com>

On Thu Apr 9, 2026 at 9:12 AM JST, Lyude Paul wrote:
> One of the complications of trying to use the shmem helpers to create a
> scatterlist for shmem objects is that we need to be able to provide a
> guarantee that the driver cannot be unbound for the lifetime of the
> scatterlist.
>
> The easiest way of handling this seems to be just hooking up an unmap
> operation to devres the first time we create a scatterlist, which allows us
> to still take advantage of gem shmem facilities without breaking that
> guarantee. To allow for this, we extract __drm_gem_shmem_free_sgt_locked()
> - which allows a caller (e.g. the rust bindings) to manually unmap the sgt
> for a gem object as needed.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/drm_gem_shmem_helper.c | 32 +++++++++++++++++++++-----
>  include/drm/drm_gem_shmem_helper.h     |  1 +
>  2 files changed, 27 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c b/drivers/gpu/drm/drm_gem_shmem_helper.c
> index 4500deef41278..addf8c1e5341e 100644
> --- a/drivers/gpu/drm/drm_gem_shmem_helper.c
> +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c
> @@ -158,6 +158,30 @@ struct drm_gem_shmem_object *drm_gem_shmem_create(struct drm_device *dev, size_t
>  }
>  EXPORT_SYMBOL_GPL(drm_gem_shmem_create);
>  
> +/**
> + * drm_gem_shmem_release_sgt_locked - Unpin and DMA unmap pages, and release the

The function name is missing the `__` prefix.

Outside of that, and fwiw,

Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>

WARNING: multiple messages have this Message-ID (diff)
From: "Alexandre Courbot" <acourbot@nvidia.com>
To: "Lyude Paul" <lyude@redhat.com>
Cc: nouveau@lists.freedesktop.org, Gary Guo <gary@garyguo.net>,
	Daniel Almeida <daniel.almeida@collabora.com>,
	rust-for-linux@vger.kernel.org,
	Danilo Krummrich <dakr@kernel.org>,
	dri-devel@lists.freedesktop.org,
	Matthew Maurer <mmaurer@google.com>,
	FUJITA Tomonori <fujita.tomonori@gmail.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	christian.koenig@amd.com, Asahi Lina <lina@asahilina.net>,
	Miguel Ojeda <ojeda@kernel.org>,
	Andreas Hindborg <a.hindborg@kernel.org>,
	Simona Vetter <simona@ffwll.ch>,
	Alice Ryhl <aliceryhl@google.com>, Boqun Feng <boqun@kernel.org>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Krishna Ketan Rai <prafulrai522@gmail.com>,
	linux-media@vger.kernel.org,
	Shankari Anand <shankari.ak0208@gmail.com>,
	Benno Lossin <lossin@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	linaro-mm-sig@lists.linaro.org,
	Asahi Lina <lina+kernel@asahilina.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	kernel@vger.kernel.org
Subject: Re: [PATCH v10 2/5] drm/gem/shmem: Introduce __drm_gem_shmem_free_sgt_locked()
Date: Fri, 10 Apr 2026 16:54:58 +0900	[thread overview]
Message-ID: <DHPBAILUGZYZ.2VQIBNVRTP7PB@nvidia.com> (raw)
In-Reply-To: <20260409001559.622026-3-lyude@redhat.com>

On Thu Apr 9, 2026 at 9:12 AM JST, Lyude Paul wrote:
> One of the complications of trying to use the shmem helpers to create a
> scatterlist for shmem objects is that we need to be able to provide a
> guarantee that the driver cannot be unbound for the lifetime of the
> scatterlist.
>
> The easiest way of handling this seems to be just hooking up an unmap
> operation to devres the first time we create a scatterlist, which allows us
> to still take advantage of gem shmem facilities without breaking that
> guarantee. To allow for this, we extract __drm_gem_shmem_free_sgt_locked()
> - which allows a caller (e.g. the rust bindings) to manually unmap the sgt
> for a gem object as needed.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/drm_gem_shmem_helper.c | 32 +++++++++++++++++++++-----
>  include/drm/drm_gem_shmem_helper.h     |  1 +
>  2 files changed, 27 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c b/drivers/gpu/drm/drm_gem_shmem_helper.c
> index 4500deef41278..addf8c1e5341e 100644
> --- a/drivers/gpu/drm/drm_gem_shmem_helper.c
> +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c
> @@ -158,6 +158,30 @@ struct drm_gem_shmem_object *drm_gem_shmem_create(struct drm_device *dev, size_t
>  }
>  EXPORT_SYMBOL_GPL(drm_gem_shmem_create);
>  
> +/**
> + * drm_gem_shmem_release_sgt_locked - Unpin and DMA unmap pages, and release the

The function name is missing the `__` prefix.

Outside of that, and fwiw,

Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>

  reply	other threads:[~2026-04-10  7:55 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-09  0:12 [PATCH v10 0/5] Rust bindings for gem shmem Lyude Paul
2026-04-09  0:12 ` Lyude Paul
2026-04-09  0:12 ` [PATCH v10 1/5] rust: drm: gem: s/device::Device/Device/ for shmem.rs Lyude Paul
2026-04-09  0:12   ` Lyude Paul
2026-04-10  7:54   ` Alexandre Courbot
2026-04-10  7:54     ` Alexandre Courbot
2026-04-09  0:12 ` [PATCH v10 2/5] drm/gem/shmem: Introduce __drm_gem_shmem_free_sgt_locked() Lyude Paul
2026-04-09  0:12   ` Lyude Paul
2026-04-10  7:54   ` Alexandre Courbot [this message]
2026-04-10  7:54     ` Alexandre Courbot
2026-04-09  0:12 ` [PATCH v10 3/5] drm/gem/shmem: Export drm_gem_shmem_get_pages_sgt_locked() Lyude Paul
2026-04-09  0:12   ` Lyude Paul
2026-04-10  7:55   ` Alexandre Courbot
2026-04-10  7:55     ` Alexandre Courbot
2026-04-09  0:12 ` [PATCH v10 4/5] rust: drm: gem: Introduce shmem::SGTable Lyude Paul
2026-04-09  0:12   ` Lyude Paul
2026-04-09 22:57   ` Deborah Brouwer
2026-04-09 22:57     ` Deborah Brouwer
2026-04-21 23:04     ` Lyude Paul
2026-04-21 23:04       ` Lyude Paul
2026-04-10  7:55   ` Alexandre Courbot
2026-04-10  7:55     ` Alexandre Courbot
2026-04-17 19:44     ` lyude
2026-04-17 19:44       ` lyude
2026-04-17 19:45       ` lyude
2026-04-17 19:45         ` lyude
2026-04-09  0:12 ` [PATCH v10 5/5] rust: drm: gem: Add vmap functions to shmem bindings Lyude Paul
2026-04-09  0:12   ` Lyude Paul
2026-04-11 13:32   ` Alexandre Courbot
2026-04-11 13:32     ` Alexandre Courbot
2026-04-21 21:15     ` Lyude Paul
2026-04-21 21:15       ` Lyude Paul

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=DHPBAILUGZYZ.2VQIBNVRTP7PB@nvidia.com \
    --to=acourbot@nvidia.com \
    --cc=a.hindborg@kernel.org \
    --cc=airlied@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=boqun@kernel.org \
    --cc=christian.koenig@amd.com \
    --cc=dakr@kernel.org \
    --cc=daniel.almeida@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=fujita.tomonori@gmail.com \
    --cc=gary@garyguo.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel@vger.kernel.org \
    --cc=lina+kernel@asahilina.net \
    --cc=lina@asahilina.net \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=lossin@kernel.org \
    --cc=lyude@redhat.com \
    --cc=mmaurer@google.com \
    --cc=nouveau@lists.freedesktop.org \
    --cc=ojeda@kernel.org \
    --cc=prafulrai522@gmail.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=shankari.ak0208@gmail.com \
    --cc=simona@ffwll.ch \
    --cc=sumit.semwal@linaro.org \
    --cc=viresh.kumar@linaro.org \
    /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.