Hi Sinan, On 19/05/18 18:25, Sinan Kaya wrote: > Nothing specific about this patch but just a general observation. Last time I > looked at the code, it seemed to require both ATS and PRI support from a given > hardware. > > I think you can assume that for ATS 1.1 specification but ATS 1.0 specification > allows a system to have ATS+PASID without PRI. As far as I know, the latest ATS spec also states that "device that supports ATS need not support PRI". I'm referring to the version integrated into PCIe v4.0r1.0, which I think corresponds to ATS 1.1. > QDF2400 is ATS 1.0 compatible as an example. > > Is this an assumption / my misinterpretation? In this series you can enable ATS and PASID without PRI. The SMMU enables ATS and PASID in add_device() if supported. Then PRI is only enabled if users request IOMMU_SVA_FEAT_IOPF in sva_init_device(). If the device driver pins all DMA memory, it can use PASID without PRI. Thanks, Jean