Re: [PATCH v4 10/19] iommu: Add set_platform_dma_ops iommu ops

Jason Gunthorpe
2023-01-09T12:17:47Z

On Sat, Jan 07, 2023 at 10:48:31AM +0800, Baolu Lu wrote:
> 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.

Yeah OK

Jason