From: Jason Gunthorpe <jgg@nvidia.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Lu Baolu <baolu.lu@linux.intel.com>,
Joerg Roedel <joro@8bytes.org>,
Christoph Hellwig <hch@infradead.org>,
Kevin Tian <kevin.tian@intel.com>, Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Vasant Hegde <vasant.hegde@amd.com>,
Hector Martin <marcan@marcan.st>, Sven Peter <sven@svenpeter.dev>,
Rob Clark <robdclark@gmail.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Yong Wu <yong.wu@mediatek.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Heiko Stuebner <heiko@sntech.de>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Orson Zhai <orsonzhai@gmail.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Chunyan Zhang <zhang.lyra@gmail.com>,
Chen-Yu Tsai <wens@csie.org>,
Thierry Reding <thierry.reding@gmail.com>,
iommu@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 0/5] iommu: Retire detach_dev callback
Date: Mon, 16 Jan 2023 12:33:44 -0400 [thread overview]
Message-ID: <Y8V8aOaFb2BWx47j@nvidia.com> (raw)
In-Reply-To: <b756e833-71c5-e43a-b222-ab9bdcc4f494@samsung.com>
On Mon, Jan 16, 2023 at 05:24:56PM +0100, Marek Szyprowski wrote:
> > The iommu core calls the driver's detach_dev domain op callback only when
> > a device is finished assigning to user space and
> > iommu_group_release_dma_owner() is called to return the device to the
> > kernel, where iommu core wants to set the default domain to the device but
> > the driver didn't provide one. The code looks like:
> >
> > /*
> > * New drivers should support default domains and so the detach_dev() op
> > * will never be called. Otherwise the NULL domain represents some
> > * platform specific behavior.
> > */
> > if (!new_domain) {
> > if (WARN_ON(!group->domain->ops->detach_dev))
> > return -EINVAL;
> > __iommu_group_for_each_dev(group, group->domain,
> > iommu_group_do_detach_device);
> > group->domain = NULL;
> > return 0;
> > }
> >
> > In other words, if the iommu driver provides default domains, the
> > .detach_dev callback will never be called; Otherwise, the .detach_dev
> > callback is actually called to return control back to the platform DMA
> > ops, other than detaching the domain from device.
> >
> > This series cleanups this by:
> >
> > - If the IOMMU driver provides default domains, remove .detach_dev
> > callback.
> > - Adds a new set_platform_dma iommu op. Any IOMMU driver that doesn't
> > provide default domain should implement set_platform_dma callback
> > instead.
> > - Retire .detach_dev callback.
> >
> > This series originates from various discussion in the community. Thanks
> > to Jason, Robin and all others for their ideas.
>
> I wonder how to handle the ARM 32bit case, which doesn't use the default
> domain solution. Today, once this patchset has been merged to
> linux-next, I've noticed that it broke booting of ARM 32bit Exynos based
> boards.
It is supposed to work, can you help debug what went wrong?
Jason
next prev parent reply other threads:[~2023-01-16 16:33 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20230110030211eucas1p10834ec4cc8c227e2cd7051dc85026dbb@eucas1p1.samsung.com>
2023-01-10 2:54 ` [PATCH v5 0/5] iommu: Retire detach_dev callback Lu Baolu
2023-01-10 2:54 ` [PATCH v5 1/5] iommu: Remove detach_dev callbacks Lu Baolu
2023-01-10 2:54 ` [PATCH v5 2/5] iommu: Add set_platform_dma_ops iommu ops Lu Baolu
2023-01-10 2:54 ` [PATCH v5 3/5] iommu: Add set_platform_dma_ops callbacks Lu Baolu
2023-01-10 2:54 ` [PATCH v5 4/5] iommu: Remove deferred attach check from __iommu_detach_device() Lu Baolu
2023-01-10 2:54 ` [PATCH v5 5/5] iommu: Remove detach_dev callback Lu Baolu
2023-01-13 15:39 ` [PATCH v5 0/5] iommu: Retire " Joerg Roedel
2023-01-16 16:24 ` Marek Szyprowski
2023-01-16 16:33 ` Jason Gunthorpe [this message]
2023-03-15 15:49 ` Steven Price
2023-03-15 15:57 ` Robin Murphy
2023-03-15 16:36 ` Steven Price
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=Y8V8aOaFb2BWx47j@nvidia.com \
--to=jgg@nvidia.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=baolu.lu@linux.intel.com \
--cc=hch@infradead.org \
--cc=heiko@sntech.de \
--cc=iommu@lists.linux.dev \
--cc=jean-philippe@linaro.org \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=marcan@marcan.st \
--cc=matthias.bgg@gmail.com \
--cc=mjrosato@linux.ibm.com \
--cc=orsonzhai@gmail.com \
--cc=robdclark@gmail.com \
--cc=robin.murphy@arm.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=sven@svenpeter.dev \
--cc=thierry.reding@gmail.com \
--cc=vasant.hegde@amd.com \
--cc=wens@csie.org \
--cc=will@kernel.org \
--cc=yong.wu@mediatek.com \
--cc=zhang.lyra@gmail.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.