mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Daniel Almeida <daniel.almeida@collabora.com>
To: Danilo Krummrich <dakr@kernel.org>
Cc: "Lyude Paul" <lyude@redhat.com>,
	dri-devel@lists.freedesktop.org, rust-for-linux@vger.kernel.org,
	"Alice Ryhl" <aliceryhl@google.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: Wed, 14 Jan 2026 21:12:17 -0300	[thread overview]
Message-ID: <449C35F3-CFA1-4B1B-A65D-A3C259E70DF7@collabora.com> (raw)
In-Reply-To: <DFOP5BY09539.AFY5L5FV1HNV@kernel.org>



> On 14 Jan 2026, at 20:21, Danilo Krummrich <dakr@kernel.org> 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.
> 
> So instead of introducing an abstraction for iosys_map we should just implement
> the corresponding I/O backends based on [1].
> 
> [1] https://lore.kernel.org/all/20260113092253.220346-3-zhiw@nvidia.com/
> 

I wonder if we can combine this with the idea of splitting I/O ranges that
we have been discussing for a while. It is a simple concept: you might have a
mapping that covers a given length (say, a single BO), but this mapping might
be split into multiple subregions that are not accessed simultaneously. This
allows for finer-grain control, as subregions are isolated from each other.

If the idea is to have all these types eventually dereference to “Io”
or something like this, the above may be as simple as adding a
“split()” method which generates a second Io while simultaneously
adjusting the bounds as needed.

If this is a good idea then I can spend cycles, as I’ll have a use for that in Tyr.

— Daniel


  reply	other threads:[~2026-01-15  0:12 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 [this message]
2026-01-15 15:36     ` Alice Ryhl
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=449C35F3-CFA1-4B1B-A65D-A3C259E70DF7@collabora.com \
    --to=daniel.almeida@collabora.com \
    --cc=a.hindborg@kernel.org \
    --cc=acourbot@nvidia.com \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=dakr@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®