From: "Christian König" <christian.koenig@amd.com>
To: Lyude Paul <lyude@redhat.com>,
dri-devel@lists.freedesktop.org, rust-for-linux@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: "Asahi Lina" <lina@asahilina.net>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Viresh Kumar" <viresh.kumar@linaro.org>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Daniel Almeida" <daniel.almeida@collabora.com>,
"open list:DMA BUFFER SHARING
FRAMEWORK:Keyword:bdma_(?:buf|fence|resv)b"
<linux-media@vger.kernel.org>,
"moderated list:DMA BUFFER SHARING
FRAMEWORK:Keyword:bdma_(?:buf|fence|resv)b"
<linaro-mm-sig@lists.linaro.org>
Subject: Re: [PATCH v2 01/12] rust: helpers: Add bindings/wrappers for dma_resv_lock
Date: Thu, 22 May 2025 10:44:34 +0200 [thread overview]
Message-ID: <ab32a3ea-84a0-484c-a07b-85aecf99ae00@amd.com> (raw)
In-Reply-To: <20250521204654.1610607-2-lyude@redhat.com>
On 5/21/25 22:29, Lyude Paul wrote:
> From: Asahi Lina <lina@asahilina.net>
>
> This is just for basic usage in the DRM shmem abstractions for implied
> locking, not intended as a full DMA Reservation abstraction yet.
Looks good in general, but my question is if it wouldn't be better to export the higher level drm_exec component instead?
The drm_exec component implements the necessary loop if you want to lock multiple GEM objects at the same time. As well as makes sure that those GEM objects can't be released while working with them.
Regtards,
Christian.
>
> Signed-off-by: Asahi Lina <lina@asahilina.net>
> Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
> rust/bindings/bindings_helper.h | 1 +
> rust/helpers/dma-resv.c | 13 +++++++++++++
> rust/helpers/helpers.c | 1 +
> 3 files changed, 15 insertions(+)
> create mode 100644 rust/helpers/dma-resv.c
>
> diff --git a/rust/bindings/bindings_helper.h b/rust/bindings/bindings_helper.h
> index 31369b7b23884..409e9a595e051 100644
> --- a/rust/bindings/bindings_helper.h
> +++ b/rust/bindings/bindings_helper.h
> @@ -18,6 +18,7 @@
> #include <linux/blkdev.h>
> #include <linux/cpumask.h>
> #include <linux/cred.h>
> +#include <linux/dma-resv.h>
> #include <linux/device/faux.h>
> #include <linux/dma-mapping.h>
> #include <linux/dma-direction.h>
> diff --git a/rust/helpers/dma-resv.c b/rust/helpers/dma-resv.c
> new file mode 100644
> index 0000000000000..05501cb814513
> --- /dev/null
> +++ b/rust/helpers/dma-resv.c
> @@ -0,0 +1,13 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +#include <linux/dma-resv.h>
> +
> +int rust_helper_dma_resv_lock(struct dma_resv *obj, struct ww_acquire_ctx *ctx)
> +{
> + return dma_resv_lock(obj, ctx);
> +}
> +
> +void rust_helper_dma_resv_unlock(struct dma_resv *obj)
> +{
> + dma_resv_unlock(obj);
> +}
> diff --git a/rust/helpers/helpers.c b/rust/helpers/helpers.c
> index 20a4ee59acd89..3ba1652899c2b 100644
> --- a/rust/helpers/helpers.c
> +++ b/rust/helpers/helpers.c
> @@ -15,6 +15,7 @@
> #include "cpumask.c"
> #include "cred.c"
> #include "device.c"
> +#include "dma-resv.c"
> #include "drm.c"
> #include "err.c"
> #include "fs.c"
next prev parent reply other threads:[~2025-05-22 8:44 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-21 20:29 [PATCH v2 00/12] Rust abstractions for shmem-backed GEM objects Lyude Paul
2025-05-21 20:29 ` [PATCH v2 01/12] rust: helpers: Add bindings/wrappers for dma_resv_lock Lyude Paul
2025-05-22 8:44 ` Christian König [this message]
2025-05-22 15:03 ` Daniel Almeida
2025-05-21 20:29 ` [PATCH v2 02/12] rust: drm: gem: Add raw_dma_resv() function Lyude Paul
2025-05-21 20:29 ` [PATCH v2 03/12] drm/gem/shmem: Extract drm_gem_shmem_init() from drm_gem_shmem_create() Lyude Paul
2025-05-21 20:29 ` [PATCH v2 04/12] drm/gem/shmem: Extract drm_gem_shmem_release() from drm_gem_shmem_free() Lyude Paul
2025-05-21 20:29 ` [PATCH v2 05/12] rust: gem: Introduce BaseDriverObject::Args Lyude Paul
2025-05-21 20:29 ` [PATCH v2 06/12] rust: drm: gem: Add OpaqueObject Lyude Paul
2025-05-21 20:29 ` [PATCH v2 07/12] rust: drm: gem: shmem: Add DRM shmem helper abstraction Lyude Paul
2025-05-21 20:29 ` [PATCH v2 08/12] rust: drm: gem: shmem: Add share_dma_resv to ObjectConfig Lyude Paul
2025-05-21 20:29 ` [PATCH v2 09/12] rust: drm: gem: Introduce OwnedSGTable Lyude Paul
2025-05-21 20:29 ` [PATCH v2 10/12] rust: Add dma_buf stub bindings Lyude Paul
2025-05-21 20:29 ` [PATCH v2 11/12] rust: drm: gem: Add export() callback Lyude Paul
2025-05-21 20:29 ` [PATCH v2 12/12] rust: drm: gem: Add BaseObject::prime_export() 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=ab32a3ea-84a0-484c-a07b-85aecf99ae00@amd.com \
--to=christian.koenig@amd.com \
--cc=a.hindborg@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@kernel.org \
--cc=daniel.almeida@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=lina@asahilina.net \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=lyude@redhat.com \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sumit.semwal@linaro.org \
--cc=tmgross@umich.edu \
--cc=viresh.kumar@linaro.org \
--cc=wedsonaf@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox