I took Bjorn's requester ID interface, or more appropriately my interpretation of the interface, through a full (apparently) working implementation. This is the result. It's quite a nice cleanup for intel-iommu. I think this kills two birds with one stone, we quirk PCIe-to-PCI bridges that don't have a PCIe capability (bz44881) and we also apply DMA quirks to all devices for dma_ops, which should fix devices like Ricoh and Marvell chips that do DMA from the wrong requester ID (still no ghost requester ID support, but that may be easier to add now). If this seems like the right direction I'll update other users of pci_find_upstream_pcie_bridge() and abolish that function. Thanks, Alex --- Alex Williamson (2): pci: Create PCIe requester ID interface iommu/intel: Make use of PCIe requester ID interface drivers/iommu/intel-iommu.c | 164 ++++++++++++++++------------------------- drivers/pci/search.c | 170 +++++++++++++++++++++++++++++++++++++++++++ include/linux/pci.h | 7 ++ -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html