On Wed, Jan 22, 2014 at 01:14:13PM +0000, Varun Sethi wrote: > > On Tue, Jan 21, 2014 at 05:48:02PM +0000, Varun Sethi wrote: > > > > +static int arm_smmu_group_notifier(struct notifier_block *nb, > > > > + unsigned long action, void *data) { > > > > + struct device *dev = data; > > > > + struct dma_iommu_mapping *mapping; > > > > + struct arm_smmu_device *smmu; > > > > + int ret; > > > > + > > > > + switch (action) { > > > > + case IOMMU_GROUP_NOTIFY_BIND_DRIVER: > > > > + > > > > + smmu = dev->archdata.iommu; > > > > + if (!smmu || !(smmu->options & > > > > ARM_SMMU_OPT_ISOLATE_DEVICES)) > > > > + break; > > > [Sethi Varun-B16395] Should this check be really done here? The > > > "Isolate devices" property would allow us to set up iommu groups. My > > > understanding is that if we specify the isolate devices property, then > > > each device would have a separate iommu group otherwise all devices > > > connected to the SMMU would share the iommu group. > > > > That's not what currently happens (at least, in the patch I have queued > > for groups). The code queued adds each device to its own group in > > arm_smmu_add_device, which I think is the right thing to do. > > > > > With that logic, we should link the mapping to the iommu group. > > > > Ok, so are you suggesting that we perform the isolation mapping in > > arm_smmu_add_device and drop the notifier altogether? > I think that should be fine, until we want to delay mapping creation till > driver bind time.
Is there a hard dependency on that? > But the "isolate device" property should dictate iommu group creation. The reason we added automatic group creation (per-device) is for VFIO, which expects all devices to be in a group regardless of the device isolation configuration. Will _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu