On Tue, May 13, 2014 at 11:04:10PM +0200, Laurent Pinchart wrote: > > Isn't this the same as ipmmu_tlb_invalidate()? > > ipmmu_tlb_invalidate() performs a read-update-write operation on the IMCTR > register to set the FLUSH bit without modifying the other bits, while this > function writes the FLUSH bit and sets all other bits (including the enable > bit) to zero. The difference is thus important.
Ah ok, I've seen that, but wasn't aware that it makes a difference. > > Why not? This is something the IOMMU-API basically supports (multiple > > devices behind different IOMMUs in the same domain). Can't you just use > > the same page-table for different IOMMUs? > > I might be able to (I'll need to check first though), but I don't really see > what the use cases for sharing a common page table between separate IOMMUs > would be. Could you please elaborate a bit ? Given that we're getting close > to > the v3.16 merge window, would it be acceptable to fix (if needed) that as a > follow-up patch, as the driver is already usable as-is ? The typical use-case is device-assignment in KVM, when you want to assign multiple devices to the same guest it is desireable to only have one domain with one page-table. At least this is where this requirement comes from in the IOMMU-API, and I like the IOMMU drivers to be consistent in their implementation of the API. I think given that otherwise the code looks good overall it is ok if you do this as a follow-on patch to this one. I can put it in my tree for the time being so that you can make a patch against the feature branch. Joerg _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu