diff options
Diffstat (limited to 'target/linux/cns3xxx/patches-3.14/120-backport_pcie_topology_fix.patch')
-rw-r--r-- | target/linux/cns3xxx/patches-3.14/120-backport_pcie_topology_fix.patch | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/target/linux/cns3xxx/patches-3.14/120-backport_pcie_topology_fix.patch b/target/linux/cns3xxx/patches-3.14/120-backport_pcie_topology_fix.patch deleted file mode 100644 index 4f68e6fb14..0000000000 --- a/target/linux/cns3xxx/patches-3.14/120-backport_pcie_topology_fix.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/arch/arm/mach-cns3xxx/pcie.c -+++ b/arch/arm/mach-cns3xxx/pcie.c -@@ -71,7 +71,7 @@ static void __iomem *cns3xxx_pci_cfg_bas - void __iomem *base; - - /* If there is no link, just show the CNS PCI bridge. */ -- if (!cnspci->linked && (busno > 0 || slot > 0)) -+ if (!cnspci->linked && (busno > 0)) - return NULL; - - /* -@@ -80,15 +80,19 @@ static void __iomem *cns3xxx_pci_cfg_bas - * the first device on the same bus as the CNS PCI bridge. - */ - if (busno == 0) { -- if (slot > 1) -+ type = CNS3XXX_HOST_TYPE; -+ if (devfn) -+ return NULL; -+ } else if (busno == 1) { -+ type = CNS3XXX_CFG0_TYPE; -+ if (slot) - return NULL; -- type = slot; - } else { - type = CNS3XXX_CFG1_TYPE; - } - - base = (void __iomem *)cnspci->cfg_bases[type].virtual; -- offset = ((busno & 0xf) << 20) | (devfn << 12) | (where & 0xffc); -+ offset = (devfn << 12) | (where & 0xffc); - - return base + offset; - } -@@ -256,7 +260,7 @@ static struct pci_ops cns3xxx_pcie_ops = - static int cns3xxx_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) - { - struct cns3xxx_pcie *cnspci = pdev_to_cnspci(dev); -- int irq = cnspci->irqs[slot+pin-1]; -+ int irq = cnspci->irqs[!!dev->bus->number+pin-1]; - - pr_info("PCIe map irq: %04d:%02x:%02x.%02x slot %d, pin %d, irq: %d\n", - pci_domain_nr(dev->bus), dev->bus->number, PCI_SLOT(dev->devfn), -@@ -434,7 +438,8 @@ static void __init cns3xxx_pcie_hw_init( - return; - - /* Set Device Max_Read_Request_Size to 128 byte */ -- devfn = PCI_DEVFN(1, 0); -+ bus.number = 1; -+ devfn = PCI_DEVFN(0, 0); - pos = pci_bus_find_capability(&bus, devfn, PCI_CAP_ID_EXP); - pci_bus_read_config_word(&bus, devfn, pos + PCI_EXP_DEVCTL, &dc); - dc &= ~(0x3 << 12); /* Clear Device Control Register [14:12] */ |