Skip to content

iommu/intel: Quirk non-compliant PCIe-to-PCI bridges

Alex Williamson linux-iommu linux-pci 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest1 of 2 patches 9 repliesIn review

1 of 2 patches is in this archive. The cover letter announces 2.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
2/2intel-iommu: Convert to iommu_pci_find_upstream + iommu_pci_is_pcie_bridgedrivers/iommu/Kconfig drivers/iommu/intel-iommu.c drivers/iommu/intel_irq_remapping.c+61 -330 replies

Reviews trailers per patch

The patch has no Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchBjorn Helgaas
SeriesA-b
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/2] iommu/intel: Quirk non-compliant PCIe-to-PCI bridges

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