Kuppuswamy Sathyanarayanan 2e34673be0 PCI/ATS: Use PF PASID for VFs
Per PCIe r5.0, sec 9.3.7.14, if a PF implements the PASID Capability, the
PF PASID configuration is shared by its VFs, and VFs must not implement
their own PASID Capability.  But commit 751035b8dc06 ("PCI/ATS: Cache PASID
Capability offset") changed pci_max_pasids() and pci_pasid_features() to
use the PASID Capability of the VF device instead of the associated PF
device.  This leads to IOMMU bind failures when pci_max_pasids() and
pci_pasid_features() are called for VFs.

In pci_max_pasids() and pci_pasid_features(), always use the PF PASID
Capability.

Fixes: 751035b8dc06 ("PCI/ATS: Cache PASID Capability offset")
Link: https://lore.kernel.org/r/fe891f9755cb18349389609e7fed9940fc5b081a.1580325170.git.sathyanarayanan.kuppuswamy@linux.intel.com
Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: stable@vger.kernel.org	# v5.5+
2020-02-05 11:58:08 -06:00
..
2020-01-31 14:48:54 -08:00
2019-12-03 13:58:22 -08:00
2020-01-23 16:40:03 -06:00
2020-01-15 11:00:40 -06:00
2020-02-05 11:58:08 -06:00
2019-11-28 08:54:55 -06:00
2019-07-09 07:24:53 -05:00
2019-09-23 16:10:08 -05:00
2018-10-02 10:14:32 +02:00
2019-11-28 08:54:36 -06:00
2020-01-31 14:48:54 -08:00
2019-11-28 08:54:55 -06:00
2020-01-31 14:48:54 -08:00
2018-06-29 21:17:26 -05:00
2020-01-29 17:00:02 -06:00
2019-06-13 16:49:45 -05:00
2019-09-23 16:10:31 -05:00
2019-05-13 18:34:46 -05:00