From: Jason Gunthorpe <jgg@nvidia.com>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: Hans Verkuil <hverkuil+cisco@kernel.org>,
iommu@lists.linux.dev,
Linux Kernel <linux-kernel@vger.kernel.org>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Robin Murphy <robin.murphy@arm.com>
Subject: Re: [PATCH] iommu: __iommu_attach_group: check for non-NULL blocking_domain
Date: Wed, 1 Oct 2025 12:44:10 -0300 [thread overview]
Message-ID: <20251001154410.GD3024065@nvidia.com> (raw)
In-Reply-To: <aNzEOeCi8Zjn9S3N@valkosipuli.retiisi.eu>
On Wed, Oct 01, 2025 at 09:03:37AM +0300, Sakari Ailus wrote:
> Hi Hans, Jason,
>
> On Mon, Sep 29, 2025 at 03:30:22PM +0200, Hans Verkuil wrote:
> > On 29/09/2025 15:02, Jason Gunthorpe wrote:
> > > On Mon, Sep 29, 2025 at 02:18:50PM +0200, Hans Verkuil wrote:
> > >> On 29/09/2025 14:07, Jason Gunthorpe wrote:
> > >>> On Mon, Sep 29, 2025 at 10:23:47AM +0200, Hans Verkuil wrote:
> > >>>
> > >>>> Since I am unfamiliar with the iommu core code, I am uncertain whether I am
> > >>>> just papering over a bug elsewhere, or whether this is really the correct solution.
> > >>>
> > >>> It is papering over something, group->domain is not supposed to be
> > >>> NULL at this point.. That probably means the iommu driver has not been
> > >>
> > >> It's group->blocking_domain that's NULL, not group->domain.
> > >
> > > Er, I thought you were hitting a false positive on this:
> > >
> > > group->domain != group->blocking_domain
> > >
> > > ie NULL != NULL
> > >
> > > But I suppose the whole expression is checking for group->domain
> > > already.
> > >
> > > All your patch does is entirely disable the safetly logic :\
> > >
> > > What is isp_attach_iommu() trying to accomplish? It does
> > > arm_iommu_detach_device() and then arm_iommu_attach_device() ?
> > >
> > > Why?
> > >
> > > Is this trying to force a non-identity translation for ISP?
>
> The omap3isp driver expects to use its own virtual address space for the
> ISP: the video buffers are mapped there as virtually contiguous (physically
> they can be whatever).
Sure, but where does it do the mapping? I didn't see an iommu_map or
any other iommu_* call in this driver.
I think it is using dma_map_* to do it - probably dma_map_sg though I
could not find it?
This is why I gave my remarks, if it is relying on the DMA API for
mapping then it should just rely on the DMA API to establish a paging
domain and not try to open code something like that.
Jason
next prev parent reply other threads:[~2025-10-01 15:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-29 8:23 [PATCH] iommu: __iommu_attach_group: check for non-NULL blocking_domain Hans Verkuil
2025-09-29 12:07 ` Jason Gunthorpe
2025-09-29 12:18 ` Hans Verkuil
2025-09-29 13:02 ` Jason Gunthorpe
2025-09-29 13:30 ` Hans Verkuil
2025-09-29 13:53 ` Jason Gunthorpe
2025-09-30 10:28 ` Robin Murphy
2025-10-01 6:03 ` Sakari Ailus
2025-10-01 15:44 ` Jason Gunthorpe [this message]
2025-10-07 9:38 ` Hans Verkuil
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=20251001154410.GD3024065@nvidia.com \
--to=jgg@nvidia.com \
--cc=hverkuil+cisco@kernel.org \
--cc=iommu@lists.linux.dev \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=sakari.ailus@iki.fi \
--cc=sakari.ailus@linux.intel.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.