[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <ff526b49-a033-450d-9e48-699187167712@app.fastmail.com>
Date: Fri, 09 May 2025 07:53:31 +0200
From: "Arnd Bergmann" <arnd@...db.de>
To: "Andrew Ballance" <andrewjballance@...il.com>,
"Danilo Krummrich" <dakr@...nel.org>, "Dave Airlie" <airlied@...il.com>,
"Simona Vetter" <simona@...ll.ch>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Miguel Ojeda" <ojeda@...nel.org>, "Alex Gaynor" <alex.gaynor@...il.com>,
"Boqun Feng" <boqun.feng@...il.com>, "Gary Guo" <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
"Benno Lossin" <benno.lossin@...ton.me>,
"Andreas Hindborg" <a.hindborg@...nel.org>,
"Alice Ryhl" <aliceryhl@...gle.com>, "Trevor Gross" <tmgross@...ch.edu>,
"Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
"Rafael J . Wysocki" <rafael@...nel.org>, bhelgaas@...gle.com,
Krzysztof Wilczyński <kwilczynski@...nel.org>,
"Raag Jadav" <raag.jadav@...el.com>,
"Andy Shevchenko" <andriy.shevchenko@...ux.intel.com>, me@...enk.dev,
"FUJITA Tomonori" <fujita.tomonori@...il.com>, daniel.almeida@...labora.com
Cc: "nouveau@...ts.freedesktop.org" <nouveau@...ts.freedesktop.org>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
rust-for-linux@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH 00/11] rust: add support for Port io
On Fri, May 9, 2025, at 05:15, Andrew Ballance wrote:
> currently the rust `Io` type maps to the c read{b, w, l, q}/write{b, w, l, q}
> functions and have no support for port io.this is a problem for pci::Bar
> because the pointer returned by pci_iomap is expected to accessed with
> the ioread/iowrite api [0].
>
> this patch series splits the `Io` type into `Io`, `PortIo` and `MMIo`.and,
> updates pci::Bar, as suggested in the zulip[1], so that it is generic over
> Io and, a user can optionally give a compile time hint about the type of io.
Can you describe here why you want to support both "Io" and "PortIo"
cases separately? I don't think we need to micro-optimize for
legacy ISA devices any more, so I'd hope the "Io" path would be
sufficient to cover the common outliers (ata, uart, vga, ipmi, ne2000)
that need the iomap indirection and also the legacy devices that only
need port I/O (floppy, x86 platform devices, ...).
Ideally we'd only need one set of I/O accessors at all, but I suspect
there are x86 specific drivers that actually need readl/writel to be
inline for performance when accessing on-chip registers rather than
slow PCIe registers.
Arnd
Powered by blists - more mailing lists