> -----Original Message-----
> From: Will Deacon [mailto:[email protected]]
> Sent: Wednesday, January 22, 2014 7:10 PM
> To: Sethi Varun-B16395
> Cc: Andreas Herrmann; [email protected]; linux-arm-
> [email protected]; Andreas Herrmann
> Subject: Re: [PATCH v3 02/11] iommu/arm-smmu: Introduce iommu_group
> notifier block
> 
> 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?
> 
Not sure, may be Andreas can answer 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.
> 
IIUC, with the "isolate devices" property we ensure that there would be 
independent SMR and S2CR per device. Is that correct?

-Varun

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to