From: Baolu Lu <baolu.lu@linux.intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: 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>,
Hector Martin <marcan@marcan.st>, Sven Peter <sven@svenpeter.dev>,
Rob Clark <robdclark@gmail.com>,
Marek Szyprowski <m.szyprowski@samsung.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 v4 10/19] iommu: Add set_platform_dma_ops iommu ops
Date: Sat, 7 Jan 2023 10:48:31 +0800 [thread overview]
Message-ID: <5ce5a6a4-9397-9665-7352-862d89b3f228@linux.intel.com> (raw)
In-Reply-To: <Y7gveMpxJWmpYkk2@nvidia.com>
On 1/6/2023 10:26 PM, Jason Gunthorpe wrote:
> On Fri, Jan 06, 2023 at 02:07:32PM +0800, Baolu Lu wrote:
>
>> Above looks good to me. Thanks! I have updated this part of code like
>> below:
>>
>> @@ -2177,10 +2188,20 @@ static int __iommu_group_set_domain(struct
>> iommu_group *group,
>> * 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);
>> + struct group_device *grp_dev;
>> +
>> + grp_dev = list_first_entry(&group->devices,
>> + struct group_device, list);
> It seems OK - I hope we naturally can't ever get in a situation where
> a group has disjoint iommu drivers.
The final code after cleanup looks like below. We will WARN_ON the lack
of callback in the iommu_group_do_set_platform_dma() helper.
2152 static int iommu_group_do_set_platform_dma(struct device *dev, void
*data)
2153 {
2154 const struct iommu_ops *ops = dev_iommu_ops(dev);
2155
2156 if (!WARN_ON(!ops->set_platform_dma_ops))
2157 ops->set_platform_dma_ops(dev);
2158
2159 return 0;
2160 }
2161
2162 static int __iommu_group_set_domain(struct iommu_group *group,
2163 struct iommu_domain *new_domain)
2164 {
2165 int ret;
2166
2167 if (group->domain == new_domain)
2168 return 0;
2169
2170 /*
2171 * New drivers should support default domains, so
set_platform_dma()
2172 * op will never be called. Otherwise the NULL domain
represents some
2173 * platform specific behavior.
2174 */
2175 if (!new_domain) {
2176 __iommu_group_for_each_dev(group, NULL,
2177
iommu_group_do_set_platform_dma);
2178 group->domain = NULL;
2179 return 0;
2180 }
How do you like this?
--
Best regards,
baolu
next prev parent reply other threads:[~2023-01-07 2:48 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-04 12:57 [PATCH v4 00/19] iommu: Retire detach_dev callback Lu Baolu
2023-01-04 12:57 ` [PATCH v4 01/19] iommu/amd: Remove " Lu Baolu
2023-01-09 11:47 ` Vasant Hegde
2023-01-04 12:57 ` [PATCH v4 02/19] iommu/apple-dart: " Lu Baolu
2023-01-04 12:57 ` [PATCH v4 03/19] iommu/qcom: " Lu Baolu
2023-01-04 12:57 ` [PATCH v4 04/19] iommu/exynos: " Lu Baolu
2023-01-04 12:57 ` [PATCH v4 05/19] iommu/ipmmu: " Lu Baolu
2023-01-04 12:57 ` [PATCH v4 06/19] iommu/mtk: " Lu Baolu
2023-01-04 13:14 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 07/19] iommu/rockchip: " Lu Baolu
2023-01-04 12:57 ` [PATCH v4 08/19] iommu/sprd: " Lu Baolu
2023-01-04 12:57 ` [PATCH v4 09/19] iommu/sun50i: " Lu Baolu
2023-01-04 12:57 ` [PATCH v4 10/19] iommu: Add set_platform_dma_ops iommu ops Lu Baolu
2023-01-04 13:17 ` Jason Gunthorpe
2023-01-05 5:58 ` Baolu Lu
2023-01-05 13:15 ` Jason Gunthorpe
2023-01-06 6:07 ` Baolu Lu
2023-01-06 14:26 ` Jason Gunthorpe
2023-01-07 2:48 ` Baolu Lu [this message]
2023-01-09 12:17 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 11/19] iommu/fsl_pamu: Add set_platform_dma_ops callback Lu Baolu
2023-01-04 13:19 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 12/19] iommu/msm: " Lu Baolu
2023-01-04 13:19 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 13/19] iommu/mtk_v1: " Lu Baolu
2023-01-04 13:19 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 14/19] iommu/omap: " Lu Baolu
2023-01-04 13:19 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 15/19] iommu/s390: " Lu Baolu
2023-01-04 13:20 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 16/19] iommu/gart: " Lu Baolu
2023-01-04 13:20 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 17/19] iommu/tegra: " Lu Baolu
2023-01-04 13:20 ` Jason Gunthorpe
2023-01-04 12:57 ` [PATCH v4 18/19] iommu: Remove deferred attach check from __iommu_detach_device() Lu Baolu
2023-01-04 12:57 ` [PATCH v4 19/19] iommu: Remove detach_dev callback Lu Baolu
2023-01-04 13:22 ` Jason Gunthorpe
2023-01-05 6:41 ` Baolu Lu
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=5ce5a6a4-9397-9665-7352-862d89b3f228@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=hch@infradead.org \
--cc=heiko@sntech.de \
--cc=iommu@lists.linux.dev \
--cc=jean-philippe@linaro.org \
--cc=jgg@nvidia.com \
--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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox