> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Wednesday, June 16, 2021 7:59 AM > > On Tue, Jun 15, 2021 at 11:56:28PM +0000, Tian, Kevin wrote: > > > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > > > Sent: Wednesday, June 16, 2021 7:41 AM > > > > > > On Tue, Jun 15, 2021 at 11:09:37PM +0000, Tian, Kevin wrote: > > > > > > > which information can you elaborate? This is the area which I'm not > > > > familiar with thus would appreciate if you can help explain how this > > > > bus specific information is utilized within the attach function or > > > > sometime later. > > > > > > This is the idea that the device driver needs to specify which bus > > > specific protocol it uses to issue DMA's when it attaches itself to an > > > IOASID. For PCI: > > > > What about defining some general attributes instead of asking iommu > > fd to understand those bus specific detail? > > I prefer the API be very clear and intent driven, otherwise things > just get confused. > > The whole WBINVD/no-snoop discussion I think is proof of that :\ > > > from iommu p.o.v there is no difference from last one. In v2 the device > > driver just needs to communicate the PASID virtualization policy at > > device binding time, > > I want it documented in the kernel source WTF is happening, because > otherwise we are going to be completely lost in a few years. And your > RFC did have device driver specific differences here > > > > The device knows what it is going to do, we need to convey that to the > > > IOMMU layer so it is prepared properly. > > > > Yes, but it's not necessarily to have iommu fd understand bus specific > > attributes. In the end when /dev/iommu uAPI calls iommu layer interface, > > it's all bus agnostic. > > Why not? Just put some inline wrappers to translate the bus specific > language to your generic language if that is what makes the most > sense. > I can do this. Thanks