On Fri, 2017-05-26 at 11:57 +0000, Deucher, Alexander wrote: > > FWIW, the GPU driver does not actually use ATS at the moment so I > don't think we should see any ATS transactions. That's a confusing sentence. The "GPU driver", if you mean software running in the OS, wouldn't be expected to have anything to do with ATS. ATS is something that the CPU itself (or its DMA engine) would do. Instead of just performing a DMA transaction to a given bus address, and letting the IOMMU do the translation, the hardware might choose to first perform an IOTLB lookup, and then later do the actual DMA transaction to the pre-translated, raw physical address. Which kind of makes a mockery of any kind of protection the IOMMU is supposed to give you, but does shave a cycle or two of latency off the DMA when it finally happens, since the translation can be done in advance.