From d21b92af8e17eaf1666baaf14e4d202c6381425d Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Sat, 11 Apr 2015 10:28:00 +0000 Subject: imx6: drop 3.14 Signed-off-by: Luka Perkov SVN-Revision: 45371 --- ...pci_imx6_ventana_fixup-for-IRQ-mismapping.patch | 81 ---------------------- 1 file changed, 81 deletions(-) delete mode 100644 target/linux/imx6/patches-3.14/201-pci_imx6_ventana_fixup-for-IRQ-mismapping.patch (limited to 'target/linux/imx6/patches-3.14/201-pci_imx6_ventana_fixup-for-IRQ-mismapping.patch') diff --git a/target/linux/imx6/patches-3.14/201-pci_imx6_ventana_fixup-for-IRQ-mismapping.patch b/target/linux/imx6/patches-3.14/201-pci_imx6_ventana_fixup-for-IRQ-mismapping.patch deleted file mode 100644 index c8e2a0e0e3..0000000000 --- a/target/linux/imx6/patches-3.14/201-pci_imx6_ventana_fixup-for-IRQ-mismapping.patch +++ /dev/null @@ -1,81 +0,0 @@ -commit 2c0d0491438433a1f327f2e754c7b6b55fec51c4 -Author: Tim Harvey -Date: Thu Feb 27 00:59:53 2014 -0800 - - PCI: imx6: ventana: fixup for IRQ mismapping - - The TI XIO2001 PCIe-to-PCI bridge used on several Ventana expansion boards - has its slot-to-bridge IRQ mapping reversed from the PCI specification: - - INTA->INTD - INTB->INTC - INTC->INTB - INTD->INTA - - Implement a custom swizzle function that does a fixup on the interrupt for - devices on a TI XIO2001 bridge. - - Signed-off-by: Tim Harvey - ---- a/drivers/pci/host/pci-imx6.c -+++ b/drivers/pci/host/pci-imx6.c -@@ -540,6 +540,39 @@ static int imx6_add_pcie_port(struct pci - return 0; - } - -+/* TI XIO2001 PCIe-to-PCI bridge on GW16082 exp card has IRQs reversed */ -+u8 ventana_swizzle(struct pci_dev *dev, u8 *pin) -+{ -+ u8 i = 0; -+ struct pci_dev *pdev = dev; -+ -+ /* count number of TI XIO2001 bridges on bus */ -+ while (!pci_is_root_bus(pdev->bus)) { -+ if (pdev->bus && pdev->bus->self && -+ (pdev->bus->self->vendor == PCI_VENDOR_ID_TI) && -+ (pdev->bus->self->device == PCI_DEVICE_ID_TI_XIO2001)) { -+ i++; -+ } -+ pdev = pdev->bus->self; -+ } -+ while (!pci_is_root_bus(dev->bus)) { -+ /* if we are directly downstream from 1st TI XIO2001 bridge */ -+ if (dev->bus && dev->bus->self && -+ (dev->bus->self->vendor == PCI_VENDOR_ID_TI) && -+ (dev->bus->self->device == PCI_DEVICE_ID_TI_XIO2001)) { -+ if (--i == 0) { -+ /* swap IRQs and swizzle backwards */ -+ *pin = (15 - PCI_SLOT(dev->devfn)) + 1; -+ dev = dev->bus->self; -+ continue; -+ } -+ } -+ *pin = pci_swizzle_interrupt_pin(dev, *pin); -+ dev = dev->bus->self; -+ } -+ return PCI_SLOT(dev->devfn); -+} -+ - static int __init imx6_pcie_probe(struct platform_device *pdev) - { - struct imx6_pcie *imx6_pcie; -@@ -648,6 +681,9 @@ static int __init imx6_pcie_probe(struct - return PTR_ERR(imx6_pcie->iomuxc_gpr); - } - -+ if (of_machine_is_compatible("gw,ventana")) -+ pp->swizzle = ventana_swizzle; -+ - ret = imx6_add_pcie_port(pp, pdev); - if (ret < 0) - return ret; ---- a/include/linux/pci_ids.h -+++ b/include/linux/pci_ids.h -@@ -822,6 +822,7 @@ - #define PCI_DEVICE_ID_TI_XX12 0x8039 - #define PCI_DEVICE_ID_TI_XX12_FM 0x803b - #define PCI_DEVICE_ID_TI_XIO2000A 0x8231 -+#define PCI_DEVICE_ID_TI_XIO2001 0x8240 - #define PCI_DEVICE_ID_TI_1130 0xac12 - #define PCI_DEVICE_ID_TI_1031 0xac13 - #define PCI_DEVICE_ID_TI_1131 0xac15 -- cgit v1.2.3