From: Alice Ryhl <aliceryhl@google.com>
To: Danilo Krummrich <dakr@kernel.org>
Cc: "Lyude Paul" <lyude@redhat.com>,
dri-devel@lists.freedesktop.org, rust-for-linux@vger.kernel.org,
"Daniel Almeida" <daniel.almeida@collabora.com>,
linux-kernel@vger.kernel.org, "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" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Trevor Gross" <tmgross@umich.edu>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Viresh Kumar" <viresh.kumar@linaro.org>,
"FUJITA Tomonori" <fujita.tomonori@gmail.com>,
"Krishna Ketan Rai" <prafulrai522@gmail.com>,
"Tamir Duberstein" <tamird@gmail.com>,
"Xiangfei Ding" <dingxiangfei2009@gmail.com>,
"Zhi Wang" <zhiw@nvidia.com>,
"Matthew Maurer" <mmaurer@google.com>,
"Alexandre Courbot" <acourbot@nvidia.com>
Subject: Re: [PATCH v6 7/8] rust: Introduce iosys_map bindings
Date: Thu, 15 Jan 2026 15:36:03 +0000 [thread overview]
Message-ID: <aWkJYyNds5zWpgYE@google.com> (raw)
In-Reply-To: <DFOP5BY09539.AFY5L5FV1HNV@kernel.org>
On Thu, Jan 15, 2026 at 12:21:51AM +0100, Danilo Krummrich wrote:
> (Cc: Zhi, Matt, Alex)
>
> On Tue Dec 2, 2025 at 11:03 PM CET, Lyude Paul wrote:
> > This introduces a set of bindings for working with iosys_map in rust code.
> > The design of this is heavily based off the design for both the io and
> > dma_map bindings for Rust.
>
> I already had a chat with Lyude about this, but also want to post it here. I
> have mainly two comment on this:
>
> (1) The backing memory of iosys_map may be a device resource and hence has to
> be protected against (bus) device / driver unbind.
>
> (2) The idea for the generic I/O infrastructure is to support arbitrary I/O
> backends rather than only MMIO. For instance, this can also be PCI
> configuration space, I2C, SPI, etc., but also DMA, VRAM, system memory,
> etc.
>
> For this, there is a patch series from Zhi [1] splitting up the current
> I/O structures into traits that we will land soon.
>
> We will also have macros analogous to dma_read!() and dma_write!() for the
> generic I/O infrastructure, which Matt also works on for his QC SoC
> driver.
>
> This will allow us to unify all kinds of I/O operations into a single
> interface, supporting the read!() and write!() accessors for values, the
> register!() macro and raw accessors, such as e.g. read32().
>
> With this we will have something that is way more powerful than iosys_map
> and makes this abstraction obsolete.
The trait approach generally requires knowing the target type at
compile-time or paying dynamic function calls, but my understanding is
that iosys exists because you might not know which variant you want at
compile-time.
Perhaps we need an
enum Iosys {
SystemMemory(...),
DmaMemory(...),
}
and implement Io for Iosys in terms of the inner types.
Alice
next prev parent reply other threads:[~2026-01-15 15:36 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-02 22:03 [PATCH v6 0/8] Rust bindings for gem shmem + iosys_map Lyude Paul
2025-12-02 22:03 ` [PATCH v6 1/8] rust/drm: Add gem::impl_aref_for_gem_obj! Lyude Paul
2025-12-02 22:03 ` [PATCH v6 2/8] rust: helpers: Add bindings/wrappers for dma_resv_lock Lyude Paul
2025-12-06 13:42 ` Janne Grunau
2025-12-02 22:03 ` [PATCH v6 3/8] rust: drm: gem: Add raw_dma_resv() function Lyude Paul
2025-12-02 22:03 ` [PATCH v6 4/8] rust: gem: Introduce DriverObject::Args Lyude Paul
2025-12-06 13:46 ` Janne Grunau
2025-12-02 22:03 ` [PATCH v6 5/8] rust: drm: gem: shmem: Add DRM shmem helper abstraction Lyude Paul
2026-02-02 15:30 ` Boris Brezillon
2025-12-02 22:03 ` [PATCH v6 6/8] rust: drm: gem: Introduce shmem::SGTable Lyude Paul
2025-12-02 22:03 ` [PATCH v6 7/8] rust: Introduce iosys_map bindings Lyude Paul
2025-12-06 15:58 ` Janne Grunau
2026-01-14 23:21 ` Danilo Krummrich
2026-01-15 0:12 ` Daniel Almeida
2026-01-15 15:36 ` Alice Ryhl [this message]
2026-02-06 22:01 ` lyude
2025-12-02 22:03 ` [PATCH v6 8/8] rust: drm/gem: Add vmap functions to shmem bindings Lyude Paul
2025-12-06 16:12 ` [PATCH v6 0/8] Rust bindings for gem shmem + iosys_map Janne Grunau
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=aWkJYyNds5zWpgYE@google.com \
--to=aliceryhl@google.com \
--cc=a.hindborg@kernel.org \
--cc=acourbot@nvidia.com \
--cc=alex.gaynor@gmail.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@kernel.org \
--cc=daniel.almeida@collabora.com \
--cc=dingxiangfei2009@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=fujita.tomonori@gmail.com \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=lyude@redhat.com \
--cc=mmaurer@google.com \
--cc=ojeda@kernel.org \
--cc=prafulrai522@gmail.com \
--cc=rust-for-linux@vger.kernel.org \
--cc=tamird@gmail.com \
--cc=tmgross@umich.edu \
--cc=viresh.kumar@linaro.org \
--cc=zhiw@nvidia.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 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.