Thread (19 messages) 19 messages, 6 authors, 2025-12-12

Re: [PATCH v9 3/7] iommu: Add verisilicon IOMMU driver

From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Date: 2025-09-16 09:31:02
Also in: linux-devicetree, linux-iommu, linux-media, linux-rockchip, lkml

Le 16/09/2025 à 10:48, Will Deacon a écrit :
On Mon, Sep 15, 2025 at 07:58:06PM -0300, Jason Gunthorpe wrote:
quoted
On Sat, Sep 13, 2025 at 07:58:04AM +0200, Jörg Rödel wrote:
quoted
[Adding Will back to Cc]

On Fri, Sep 12, 2025 at 01:37:11PM -0400, Nicolas Dufresne wrote:
quoted
To me this rejection isn't about Benjamin's driver, all iommu seems to look
alike, so anyone else that would have sent new driver would have face the same
issue.
This is about ignoring comments from one of the IOMMU maintainers. I am not
going to merge a driver with open comments/objections[1] from Will (and a few
others), so resolve this with him and get his Ack.
I would strongly object to trying to share map_pages, unmap_pages,
iova_to_phys, free and other iommu pt related functions in some
limited way instead of helping on the much more complete iommu pt
work. Which is what I said to Will, but for some reason he suggested
it anyhow.
If the answer is to convert this to iommu pt, then so be it. My
understanding was that was still premature at this stage but you know
better than me.

When I bothered to look at this driver side-by-side with the rockchip
driver which, despite apparently being totally different IP (honest!),
is *remarkably* similar, I summarised the similarity in the default
domain ops:

https://lore.kernel.org/all/aH5yR9CkYSJ4PaZV@willie-the-truck/ (local)

But rather than respond to that, Benjamin just sent a new version. I
was hoping for a bit more discussion...
Sorry if that had offend, you it wasn't the purpose.

Where you see similarities in the pattern I see lot of differences
everywhere that will required to duplicate the functions for each
hardware (locking schema, bit definition, power management, enable/disable).

Since the v6 I have fix lot of locking and pm_runtime issue and add a
function, needed by the video decoder, to flush the TLB.

My first attempt when writing Verisilicon driver was to add a variant
(like for rk iommu v2 I had already done) to Rockchip driver but mixing or
sharing structures or functions between Rockchip and Verisilicon is just a
nightmare because it requires to add "if else" everywhere.

Benjamin
quoted
Sorry, but it doesn't make sense to complain about duplication in
drivers and then not help advance one of the biggest projects to
actually concretely and comprehensively address that duplication.
I don't think it needs to be one or the other. afaict, these drivers
should share the default domain ops and if the page-table code is using
iommu-pt then that's even better.

Will
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help