|
@@ -3724,6 +3724,21 @@ DECLARE_PCI_FIXUP_HEADER(0x1283, 0x8892, quirk_use_pcie_bridge_dma_alias);
|
|
|
/* Intel 82801, https://bugzilla.kernel.org/show_bug.cgi?id=44881#c49 */
|
|
|
DECLARE_PCI_FIXUP_HEADER(0x8086, 0x244e, quirk_use_pcie_bridge_dma_alias);
|
|
|
|
|
|
+/*
|
|
|
+ * MIC x200 NTB forwards PCIe traffic using multiple alien RIDs. They have to
|
|
|
+ * be added as aliases to the DMA device in order to allow buffer access
|
|
|
+ * when IOMMU is enabled. Following devfns have to match RIT-LUT table
|
|
|
+ * programmed in the EEPROM.
|
|
|
+ */
|
|
|
+static void quirk_mic_x200_dma_alias(struct pci_dev *pdev)
|
|
|
+{
|
|
|
+ pci_add_dma_alias(pdev, PCI_DEVFN(0x10, 0x0));
|
|
|
+ pci_add_dma_alias(pdev, PCI_DEVFN(0x11, 0x0));
|
|
|
+ pci_add_dma_alias(pdev, PCI_DEVFN(0x12, 0x3));
|
|
|
+}
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2260, quirk_mic_x200_dma_alias);
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2264, quirk_mic_x200_dma_alias);
|
|
|
+
|
|
|
/*
|
|
|
* Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
|
|
|
* class code. Fix it.
|