> From: Lu Baolu <baolu...@linux.intel.com>
> Sent: Tuesday, April 12, 2022 9:03 PM
> 
> On 2022/4/12 15:37, Tian, Kevin wrote:
> >> From: Lu Baolu <baolu...@linux.intel.com>
> >> Sent: Tuesday, April 12, 2022 1:09 PM
> >> On 2022/4/12 11:15, Tian, Kevin wrote:
> >>>> From: Lu Baolu <baolu...@linux.intel.com>
> >>>> Sent: Sunday, April 10, 2022 6:25 PM
> >>>
> >>>>
> >>>> This adds a flag in the iommu_group struct to indicate an immutable
> >>>> singleton group, and uses standard PCI bus topology, isolation features,
> >>>> and DMA alias quirks to set the flag. If the device came from DT,
> assume
> >>>> it is static and then the singleton attribute can know from the device
> >>>> count in the group.
> >>>
> >>> where does the assumption come from?
> >>
> >> Hotplug is the only factor that can dynamically affect the
> >> characteristics of IOMMU group singleton as far as I can see. If a
> >> device node was created from the DT, it could be treated as static,
> >> hence we can judge the singleton in iommu probe phase during boot.
> >
> > I didn't get this. Let's look at your code in iommu_group_add_device():
> >
> >   + else if (is_of_node(dev_fwnode(dev)))
> >   +         group->immutable_singleton =
> >   +                         (iommu_group_device_count(group) == 1);
> >
> > Even if there is a multi-devices group above logic will set the flag when
> > the first device in the group is added since at that time there is only
> > one device in the group. We need other concrete information  to tell
> > it similar to how you walk PCI hierarchy to find out the fact...
> 
> This is a small trick to make things simpler. Once more devices are
> added to the group, the flag will be flipped. All iommu_group's should
> be settled down before any drivers start to consume this flag.
> 

As an immutable flag it cannot be flipped. What about SVA has been
enabled on the 1st device before the 2nd one is added to the group?
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to