This series tries to address:
https://bugzilla.kernel.org/show_bug.cgi?id=44881
Where pci_find_upstream_pcie_bridge() gets lost trying to find the
upstream PCIe-to-PCI bridge for a device because the bridge doesn't
expose a PCIe capability. To do this, we add a iommu_pci_is_pcie_bridge
function which includes a quirk to look to the next upstream device
as a sanity check. We can then replace pci_find_upstream_pcie_bridge
with a function that's a bit more generic and less tied to intel-iommu
eccentricities.
v2 uses the same logic as v1, but moves the search and match code to
IOMMU-core since PCI-core doesn't want it. v1 has several reports
from users that this solves the problem they have in the above bz.
Thanks,
Alex
---
Alex Williamson (2):
iommu: Quirked PCIe bridge test and search function
intel-iommu: Convert to iommu_pci_find_upstream + iommu_pci_is_pcie_bridge
drivers/iommu/Kconfig | 5 ++
drivers/iommu/Makefile | 1
drivers/iommu/intel-iommu.c | 77 ++++++++++++++++++++++-------------
drivers/iommu/intel_irq_remapping.c | 15 +++++--
drivers/iommu/pci.c | 69 +++++++++++++++++++++++++++++++
drivers/iommu/pci.h | 23 ++++++++++
6 files changed, 157 insertions(+), 33 deletions(-)
create mode 100644 drivers/iommu/pci.c
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu