aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
diff options
context:
space:
mode:
authorMathias Kresin <dev@kresin.me>2019-07-10 12:29:03 +0200
committerMathias Kresin <dev@kresin.me>2020-03-16 22:28:17 +0100
commit6bf179b27004eb76df3e466bd080fc5a83ccf0dd (patch)
tree9abd2e8d534bc8d6871930d8c814eba61cb6fa46 /target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
parent3d5d56487dd627f50aa69aba907ccb6049070c9c (diff)
downloadupstream-6bf179b27004eb76df3e466bd080fc5a83ccf0dd.tar.gz
upstream-6bf179b27004eb76df3e466bd080fc5a83ccf0dd.tar.bz2
upstream-6bf179b27004eb76df3e466bd080fc5a83ccf0dd.zip
lantiq: add Linux 5.4 support as testing kernel version
Switch to the mainline Lantiq PCIe PHY driver and update the vr9.dtsi accordingly. The Lantiq IRQ SMP support added upstream required changes to the SoC dtsi as well. Following changes are made to the Lantiq kernel patches: 0005-lantiq_etop-pass-struct-device-to-DMA-API-functions.patch 0006-MIPS-lantiq-pass-struct-device-to-DMA-API-functions.patch applied upstream 0008-MIPS-lantiq-backport-old-timer-code.patch access_ok API update because it lost it's type (which was the first) parameter in upstream commit 96d4f267e40f95 ("Remove 'type' argument from access_ok() function") 0024-MIPS-lantiq-autoselect-soc-rev-matching-fw.patch merged into 0026-MIPS-lantiq-Add-GPHY-Firmware-loader.patch 0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch revert upstream changes required for upstream xrx200 ethernet and xrx200 (DSA) switch driver but breaking our driver 0026-MIPS-lantiq-Add-GPHY-Firmware-loader.patch required for our driver but dropped upstream, add former upstream version 0028-NET-lantiq-various-etop-fixes.patch now has to use the phy_set_max_speed API instead of modifying phydev->supported. Also call ltq_dma_enable_irq() in ltq_etop_open() based on upstream commit cc973aecf0b054 ("MIPS: lantiq: Do not enable IRQs in dma open") Signed-off-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Diffstat (limited to 'target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch')
-rw-r--r--target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch24
1 files changed, 11 insertions, 13 deletions
diff --git a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
index 4cea5547c2..bcd928aea9 100644
--- a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
+++ b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
@@ -44,12 +44,12 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
@@ -20,6 +20,7 @@ config SOC_XWAY
bool "XWAY"
select SOC_TYPE_XWAY
- select HW_HAS_PCI
+ select HAVE_PCI
+ select ARCH_SUPPORTS_MSI
select MFD_SYSCON
select MFD_CORE
-@@ -52,6 +53,15 @@ config PCI_LANTIQ
+@@ -52,4 +53,13 @@ config PCI_LANTIQ
bool "PCI Support"
depends on SOC_XWAY && PCI
@@ -62,12 +62,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ depends on PCIE_LANTIQ && PCI_MSI
+ default y
+
- config XRX200_PHY_FW
- bool "XRX200 PHY firmware loader"
- depends on SOC_XWAY
+ endif
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -49,6 +49,8 @@ obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o
+@@ -51,6 +51,8 @@ obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o
obj-$(CONFIG_SOC_MT7620) += pci-mt7620.o
obj-$(CONFIG_SOC_RT288X) += pci-rt2880.o
obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o
@@ -155,7 +153,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ifx_pcie_rc_class_early_fixup);
--- a/arch/mips/pci/fixup-lantiq.c
+++ b/arch/mips/pci/fixup-lantiq.c
-@@ -8,12 +8,18 @@
+@@ -6,12 +6,18 @@
#include <linux/of_irq.h>
#include <linux/of_pci.h>
@@ -174,7 +172,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
if (ltq_pci_plat_arch_init)
return ltq_pci_plat_arch_init(dev);
-@@ -25,5 +31,10 @@ int pcibios_plat_dev_init(struct pci_dev
+@@ -23,5 +29,10 @@ int pcibios_plat_dev_init(struct pci_dev
int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{
@@ -4143,7 +4141,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+
--- a/arch/mips/pci/pci-legacy.c
+++ b/arch/mips/pci/pci-legacy.c
-@@ -311,3 +311,30 @@ char *__init pcibios_setup(char *str)
+@@ -308,3 +308,30 @@ char *__init pcibios_setup(char *str)
return pcibios_plat_setup(str);
return str;
}
@@ -5484,7 +5482,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+
--- a/drivers/pci/pcie/Kconfig
+++ b/drivers/pci/pcie/Kconfig
-@@ -54,6 +54,7 @@ config PCIEAER_INJECT
+@@ -52,6 +52,7 @@ config PCIEAER_INJECT
config PCIE_ECRC
bool "PCI Express ECRC settings control"
depends on PCIEAER
@@ -5494,7 +5492,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
(transaction layer end-to-end CRC checking).
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
-@@ -1325,6 +1325,8 @@ void pci_walk_bus(struct pci_bus *top, i
+@@ -1390,6 +1390,8 @@ void pci_walk_bus(struct pci_bus *top, i
void *userdata);
int pci_cfg_space_size(struct pci_dev *dev);
unsigned char pci_bus_max_busnr(struct pci_bus *bus);
@@ -5505,9 +5503,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
unsigned long type);
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
-@@ -1065,6 +1065,12 @@
+@@ -1072,6 +1072,12 @@
+ #define PCI_DEVICE_ID_SGI_IOC3 0x0003
#define PCI_DEVICE_ID_SGI_LITHIUM 0x1002
- #define PCI_DEVICE_ID_SGI_IOC4 0x100a
+#define PCI_VENDOR_ID_INFINEON 0x15D1
+#define PCI_DEVICE_ID_INFINEON_DANUBE 0x000F