From e9deb9396233fc9e2a0f3ae513324c8fc9d97c2e Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sat, 22 Aug 2020 02:23:05 +0800 Subject: [PATCH] kernel: bump 4.19 to 4.19.141 Refreshed all patches. Signed-off-by: CN_SZTL --- include/kernel-version.mk | 4 +- ...-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch | 4 +- .../generic/hack-4.19/204-module_strip.patch | 4 +- .../generic/hack-4.19/902-debloat_proc.patch | 2 +- ...k-events-support-multiple-registrant.patch | 40 ++---- ...-linux-kernel-to-support-shortcut-fe.patch | 77 ++++++----- ...xq-to-be-adaptive-of-cpus-and-netdev.patch | 32 ++--- ...I-qcom-Fixed-IPQ806x-specific-clocks.patch | 10 +- ...com-Fixed-IPQ806x-PCIE-reset-changes.patch | 8 +- ...qcom-Fixed-IPQ806x-PCIE-init-changes.patch | 124 ------------------ ...rogramming-the-PCIE-iATU-for-IPQ806x.patch | 4 +- .../0071-6-PCI-qcom-Force-GEN1-support.patch | 8 +- ...7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch | 2 +- ...qcom-Fixed-pcie_phy_clk-branch-issue.patch | 10 +- ...nge-duplicate-pci-reset-to-phy-reset.patch | 2 +- .../0001-MIPS-lantiq-add-pcie-driver.patch | 2 +- ...l-armada-37xx-Enable-emmc-on-espress.patch | 2 +- ...da-3720-espressobin-correct-spi-node.patch | 2 +- ...l-armada-3720-espressobin-add-ports-.patch | 2 +- ...-3720-espressobin-set-max-link-to-ge.patch | 2 +- 20 files changed, 99 insertions(+), 242 deletions(-) delete mode 100644 target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index aff81a3722..99793eae8a 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.9 = .233 LINUX_VERSION-4.14 = .194 -LINUX_VERSION-4.19 = .140 +LINUX_VERSION-4.19 = .141 LINUX_KERNEL_HASH-4.9.233 = 2a6dcab0652ab181820d56b6014235a125cf933e0edf5bdbc038160fa9e7aca5 LINUX_KERNEL_HASH-4.14.194 = 3ea4d0221a071d58703cd346a8a6ef1582a32a8c4565a4919578817444d4fae0 -LINUX_KERNEL_HASH-4.19.140 = ca0ff9a7bf005bef10af477b8e7bdd6e466b20c388d862426fd8842511f18ea8 +LINUX_KERNEL_HASH-4.19.141 = a4421dea5333beeaaef81312c6f415330b9e4fda6027f399a1c55f97d3da2114 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/cns3xxx/patches-4.19/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch b/target/linux/cns3xxx/patches-4.19/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch index 67aa8df7fe..02d662948d 100644 --- a/target/linux/cns3xxx/patches-4.19/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch +++ b/target/linux/cns3xxx/patches-4.19/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch @@ -1,6 +1,6 @@ --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c -@@ -2655,7 +2655,8 @@ static void pcie_write_mrrs(struct pci_d +@@ -2707,7 +2707,8 @@ static void pcie_write_mrrs(struct pci_d * In the "safe" case, do not configure the MRRS. There appear to be * issues with setting MRRS to 0 on a number of devices. */ @@ -12,7 +12,7 @@ /* --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -868,7 +868,7 @@ enum pcie_bus_config_types { +@@ -871,7 +871,7 @@ enum pcie_bus_config_types { PCIE_BUS_DEFAULT, /* Ensure MPS matches upstream bridge */ PCIE_BUS_SAFE, /* Use largest MPS boot-time devices support */ PCIE_BUS_PERFORMANCE, /* Use MPS and MRRS for best performance */ diff --git a/target/linux/generic/hack-4.19/204-module_strip.patch b/target/linux/generic/hack-4.19/204-module_strip.patch index c5170ba295..76fe68a315 100644 --- a/target/linux/generic/hack-4.19/204-module_strip.patch +++ b/target/linux/generic/hack-4.19/204-module_strip.patch @@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau config MODULES_TREE_LOOKUP --- a/kernel/module.c +++ b/kernel/module.c -@@ -3030,9 +3030,11 @@ static int setup_load_info(struct load_i +@@ -3046,9 +3046,11 @@ static int setup_load_info(struct load_i static int check_modinfo(struct module *mod, struct load_info *info, int flags) { @@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau if (flags & MODULE_INIT_IGNORE_VERMAGIC) modmagic = NULL; -@@ -3053,6 +3055,7 @@ static int check_modinfo(struct module * +@@ -3069,6 +3071,7 @@ static int check_modinfo(struct module * mod->name); add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); } diff --git a/target/linux/generic/hack-4.19/902-debloat_proc.patch b/target/linux/generic/hack-4.19/902-debloat_proc.patch index 33b954337f..7d6d3ad276 100644 --- a/target/linux/generic/hack-4.19/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.19/902-debloat_proc.patch @@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3491,6 +3491,8 @@ static __net_initdata struct pernet_oper +@@ -3512,6 +3512,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/hack-4.19/952-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-4.19/952-net-conntrack-events-support-multiple-registrant.patch index f844328dbe..666828ddc4 100644 --- a/target/linux/generic/hack-4.19/952-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-4.19/952-net-conntrack-events-support-multiple-registrant.patch @@ -1,5 +1,3 @@ -diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h -index 12d967b..c2b98b6 100644 --- a/include/net/netfilter/nf_conntrack_ecache.h +++ b/include/net/netfilter/nf_conntrack_ecache.h @@ -71,6 +71,10 @@ struct nf_ct_event { @@ -67,8 +65,6 @@ index 12d967b..c2b98b6 100644 return nf_conntrack_eventmask_report(1 << event, ct, 0, 0); } -diff --git a/include/net/netns/conntrack.h b/include/net/netns/conntrack.h -index e469e85..1d31db8 100644 --- a/include/net/netns/conntrack.h +++ b/include/net/netns/conntrack.h @@ -114,7 +114,11 @@ struct netns_ct { @@ -83,13 +79,11 @@ index e469e85..1d31db8 100644 struct nf_exp_event_notifier __rcu *nf_expect_event_cb; struct nf_ip_net nf_ct_proto; #if defined(CONFIG_NF_CONNTRACK_LABELS) -diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig -index 63073be..08d7aab 100644 --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -118,6 +118,14 @@ config NF_CONNTRACK_EVENTS - - If unsure, say `N'. +@@ -147,6 +147,14 @@ config NF_CONNTRACK_RTCACHE + To compile it as a module, choose M here. If unsure, say N. + The module will be called nf_conntrack_rtcache. +config NF_CONNTRACK_CHAIN_EVENTS + bool "Register multiple callbacks to ct events" @@ -102,11 +96,9 @@ index 63073be..08d7aab 100644 config NF_CONNTRACK_TIMEOUT bool 'Connection tracking timeout' depends on NETFILTER_ADVANCED -diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c -index 6bd1508..9b81c7c 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2167,6 +2167,10 @@ int nf_conntrack_init_net(struct net *ne +@@ -2447,6 +2447,10 @@ int nf_conntrack_init_net(struct net *ne ret = nf_conntrack_proto_pernet_init(net); if (ret < 0) goto err_proto; @@ -117,11 +109,9 @@ index 6bd1508..9b81c7c 100644 return 0; err_proto: -diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c -index da9df2d..e0e2a8f 100644 --- a/net/netfilter/nf_conntrack_ecache.c +++ b/net/netfilter/nf_conntrack_ecache.c -@@ -18,6 +18,9 @@ +@@ -20,6 +20,9 @@ #include #include #include @@ -131,7 +121,7 @@ index da9df2d..e0e2a8f 100644 #include #include #include -@@ -117,6 +120,38 @@ static void ecache_work(struct work_stru +@@ -119,6 +122,38 @@ static void ecache_work(struct work_stru schedule_delayed_work(&ctnet->ecache_dwork, delay); } @@ -170,7 +160,7 @@ index da9df2d..e0e2a8f 100644 int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct, u32 portid, int report) { -@@ -171,10 +206,52 @@ out_unlock: +@@ -173,10 +208,52 @@ out_unlock: rcu_read_unlock(); return ret; } @@ -223,7 +213,7 @@ index da9df2d..e0e2a8f 100644 void nf_ct_deliver_cached_events(struct nf_conn *ct) { struct net *net = nf_ct_net(ct); -@@ -225,6 +302,7 @@ void nf_ct_deliver_cached_events(struct +@@ -227,6 +304,7 @@ void nf_ct_deliver_cached_events(struct out_unlock: rcu_read_unlock(); } @@ -231,7 +221,7 @@ index da9df2d..e0e2a8f 100644 EXPORT_SYMBOL_GPL(nf_ct_deliver_cached_events); void nf_ct_expect_event_report(enum ip_conntrack_expect_events event, -@@ -257,6 +335,12 @@ out_unlock: +@@ -259,6 +337,12 @@ out_unlock: rcu_read_unlock(); } @@ -244,7 +234,7 @@ index da9df2d..e0e2a8f 100644 int nf_conntrack_register_notifier(struct net *net, struct nf_ct_event_notifier *new) { -@@ -277,8 +361,15 @@ out_unlock: +@@ -279,8 +363,15 @@ out_unlock: mutex_unlock(&nf_ct_ecache_mutex); return ret; } @@ -260,7 +250,7 @@ index da9df2d..e0e2a8f 100644 void nf_conntrack_unregister_notifier(struct net *net, struct nf_ct_event_notifier *new) { -@@ -292,6 +383,7 @@ void nf_conntrack_unregister_notifier(st +@@ -294,6 +385,7 @@ void nf_conntrack_unregister_notifier(st mutex_unlock(&nf_ct_ecache_mutex); /* synchronize_rcu() is called from ctnetlink_exit. */ } @@ -268,8 +258,6 @@ index da9df2d..e0e2a8f 100644 EXPORT_SYMBOL_GPL(nf_conntrack_unregister_notifier); int nf_ct_expect_register_notifier(struct net *net, -diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c -index 04111c1..8c741f7 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c @@ -28,6 +28,11 @@ @@ -282,9 +270,9 @@ index 04111c1..8c741f7 100644 +#endif + #include + #include - #include -@@ -618,14 +623,22 @@ static size_t ctnetlink_nlmsg_size(const +@@ -678,14 +683,22 @@ static size_t ctnetlink_nlmsg_size(const ; } @@ -307,7 +295,7 @@ index 04111c1..8c741f7 100644 struct nf_conn *ct = item->ct; struct sk_buff *skb; unsigned int type; -@@ -3290,9 +3303,15 @@ static int ctnetlink_stat_exp_cpu(struct +@@ -3479,9 +3492,15 @@ static int ctnetlink_stat_exp_cpu(struct } #ifdef CONFIG_NF_CONNTRACK_EVENTS diff --git a/target/linux/generic/hack-4.19/999-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-4.19/999-net-patch-linux-kernel-to-support-shortcut-fe.patch index a258338da7..b4342217ed 100644 --- a/target/linux/generic/hack-4.19/999-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-4.19/999-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -1,7 +1,7 @@ ---- a/include/linux/skbuff.h 2019-01-16 20:16:08.325745306 +0800 -+++ b/include/linux/skbuff.h 2019-01-16 20:31:47.288028493 +0800 -@@ -783,6 +783,9 @@ struct sk_buff { - __u8 tc_from_ingress:1; +--- a/include/linux/skbuff.h ++++ b/include/linux/skbuff.h +@@ -813,6 +813,9 @@ struct sk_buff { + __u8 decrypted:1; #endif __u8 gro_skip:1; +#ifdef CONFIG_SHORTCUT_FE @@ -10,9 +10,9 @@ #ifdef CONFIG_NET_SCHED __u16 tc_index; /* traffic control index */ ---- a/include/linux/if_bridge.h 2019-01-16 20:51:47.871445535 +0800 -+++ b/include/linux/if_bridge.h 2019-01-16 20:52:26.220269649 +0800 -@@ -54,6 +54,8 @@ struct br_ip_list { +--- a/include/linux/if_bridge.h ++++ b/include/linux/if_bridge.h +@@ -55,6 +55,8 @@ struct br_ip_list { #define BR_DEFAULT_AGEING_TIME (300 * HZ) extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *)); @@ -23,9 +23,9 @@ extern br_should_route_hook_t __rcu *br_should_route_hook; --- a/include/linux/timer.h +++ b/include/linux/timer.h -@@ -20,6 +20,9 @@ struct timer_list { - void (*function)(unsigned long); - unsigned long data; +@@ -17,6 +17,9 @@ struct timer_list { + unsigned long expires; + void (*function)(struct timer_list *); u32 flags; +#ifdef CONFIG_SHORTCUT_FE + unsigned long cust_data; @@ -33,28 +33,27 @@ #ifdef CONFIG_LOCKDEP struct lockdep_map lockdep_map; ---- a/net/Kconfig 2019-01-16 20:36:30.266465286 +0800 -+++ b/net/Kconfig 2019-01-16 20:36:41.980609067 +0800 -@@ -463,3 +463,6 @@ config HAVE_CBPF_JIT +--- a/net/Kconfig ++++ b/net/Kconfig +@@ -467,3 +467,6 @@ config HAVE_CBPF_JIT # Extended BPF JIT (eBPF) config HAVE_EBPF_JIT bool + +config SHORTCUT_FE + bool "Enables kernel network stack path for Shortcut Forwarding Engine ---- a/net/core/dev.c 2019-01-16 20:38:37.274933833 +0800 -+++ b/net/core/dev.c 2019-01-16 20:44:07.773594898 +0800 -@@ -3256,8 +3256,17 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev, - !(skb->imq_flags & IMQ_F_ENQUEUE)) +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -3257,7 +3257,16 @@ static int xmit_one(struct sk_buff *skb, #else if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all)) -+#endif + #endif +#ifdef CONFIG_SHORTCUT_FE + /* If this skb has been fast forwarded then we don't want it to + * go to any taps (by definition we're trying to bypass them). + */ + if (!skb->fast_forwarded) { - #endif ++#endif dev_queue_xmit_nit(skb, dev); +#ifdef CONFIG_SHORTCUT_FE + } @@ -62,7 +61,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (!dev->eth_mangle_tx || -@@ -4315,6 +4324,11 @@ void netdev_rx_handler_unregister(struct +@@ -4753,6 +4762,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -74,7 +73,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -4362,6 +4376,9 @@ static int __netif_receive_skb_core(stru +@@ -4802,6 +4816,9 @@ static int __netif_receive_skb_core(stru bool deliver_exact = false; int ret = NET_RX_DROP; __be16 type; @@ -84,7 +83,7 @@ net_timestamp_check(!netdev_tstamp_prequeue, skb); -@@ -4388,6 +4405,16 @@ another_round: +@@ -4842,6 +4859,16 @@ another_round: goto out; } @@ -101,9 +100,9 @@ if (skb_skip_tc_classify(skb)) goto skip_classify; ---- a/net/netfilter/nf_conntrack_proto_tcp.c 2019-01-16 20:47:40.886993297 +0800 -+++ b/net/netfilter/nf_conntrack_proto_tcp.c 2019-01-16 20:48:57.700570104 +0800 -@@ -35,11 +35,17 @@ +--- a/net/netfilter/nf_conntrack_proto_tcp.c ++++ b/net/netfilter/nf_conntrack_proto_tcp.c +@@ -36,11 +36,17 @@ /* Do not check the TCP window for incoming packets */ static int nf_ct_tcp_no_window_check __read_mostly = 1; @@ -121,11 +120,11 @@ /* If it is set to zero, we disable picking up already established connections. */ ---- a/net/bridge/br_if.c 2019-01-16 20:54:51.919367044 +0800 -+++ b/net/bridge/br_if.c 2019-01-16 20:55:53.812401263 +0800 -@@ -653,3 +653,26 @@ void br_port_flags_change(struct net_bri - if (mask & BR_AUTO_MASK) - nbp_update_port_count(br); +--- a/net/bridge/br_if.c ++++ b/net/bridge/br_if.c +@@ -741,3 +741,26 @@ void br_port_flags_change(struct net_bri + if (mask & BR_NEIGH_SUPPRESS) + br_recalculate_neigh_suppress_enabled(br); } + +/* Update bridge statistics for bridge packets processed by offload engines */ @@ -150,9 +149,9 @@ + u64_stats_update_end(&stats->syncp); +} +EXPORT_SYMBOL_GPL(br_dev_update_stats); ---- a/net/netfilter/Kconfig 2019-01-16 21:07:34.543460920 +0800 -+++ b/net/netfilter/Kconfig 2019-01-16 21:08:14.739465937 +0800 -@@ -146,6 +146,14 @@ config NF_CONNTRACK_TIMEOUT +--- a/net/netfilter/Kconfig ++++ b/net/netfilter/Kconfig +@@ -165,6 +165,14 @@ config NF_CONNTRACK_TIMEOUT If unsure, say `N'. @@ -167,9 +166,9 @@ config NF_CONNTRACK_TIMESTAMP bool 'Connection tracking timestamping' depends on NETFILTER_ADVANCED ---- a/net/netfilter/nf_conntrack_ecache.c 2019-01-16 21:12:22.183462975 +0800 -+++ b/net/netfilter/nf_conntrack_ecache.c 2019-01-16 21:26:10.379462031 +0800 -@@ -122,13 +125,17 @@ int nf_conntrack_eventmask_report(unsign +--- a/net/netfilter/nf_conntrack_ecache.c ++++ b/net/netfilter/nf_conntrack_ecache.c +@@ -159,13 +159,17 @@ int nf_conntrack_eventmask_report(unsign { int ret = 0; struct net *net = nf_ct_net(ct); @@ -187,7 +186,7 @@ e = nf_ct_ecache_find(ct); if (!e) -@@ -146,7 +153,12 @@ int nf_conntrack_eventmask_report(unsign +@@ -183,7 +187,12 @@ int nf_conntrack_eventmask_report(unsign if (!((eventmask | missed) & e->ctmask)) goto out_unlock; @@ -200,7 +199,7 @@ if (unlikely(ret < 0 || missed)) { spin_lock_bh(&ct->lock); if (ret < 0) { -@@ -179,15 +191,19 @@ void nf_ct_deliver_cached_events(struct +@@ -258,15 +267,19 @@ void nf_ct_deliver_cached_events(struct { struct net *net = nf_ct_net(ct); unsigned long events, missed; @@ -220,7 +219,7 @@ e = nf_ct_ecache_find(ct); if (e == NULL) -@@ -210,7 +226,13 @@ void nf_ct_deliver_cached_events(struct +@@ -289,7 +302,13 @@ void nf_ct_deliver_cached_events(struct item.portid = 0; item.report = 0; diff --git a/target/linux/ipq40xx/patches-4.19/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch b/target/linux/ipq40xx/patches-4.19/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch index d8d09c1425..44c927e838 100644 --- a/target/linux/ipq40xx/patches-4.19/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch +++ b/target/linux/ipq40xx/patches-4.19/715-essedma-refine-txq-to-be-adaptive-of-cpus-and-netdev.patch @@ -1,8 +1,6 @@ -diff --git a/drivers/net/ethernet/qualcomm/essedma/edma.c b/drivers/net/ethernet/qualcomm/essedma/edma.c -index 724f355..7a16236 100644 --- a/drivers/net/ethernet/qualcomm/essedma/edma.c +++ b/drivers/net/ethernet/qualcomm/essedma/edma.c -@@ -22,14 +22,6 @@ extern struct net_device *edma_netdev[EDMA_MAX_PORTID_SUPPORTED]; +@@ -22,14 +22,6 @@ extern struct net_device *edma_netdev[ED bool edma_stp_rstp; u16 edma_ath_eth_type; @@ -17,7 +15,7 @@ index 724f355..7a16236 100644 /* edma_alloc_tx_ring() * Allocate Tx descriptors ring */ -@@ -1014,13 +1006,14 @@ static inline u16 edma_tpd_available(struct edma_common_info *edma_cinfo, +@@ -1016,13 +1008,14 @@ static inline u16 edma_tpd_available(str /* edma_tx_queue_get() * Get the starting number of the queue */ @@ -34,7 +32,7 @@ index 724f355..7a16236 100644 } /* edma_tx_update_hw_idx() -@@ -1389,8 +1382,9 @@ netdev_tx_t edma_xmit(struct sk_buff *skb, +@@ -1391,8 +1384,9 @@ netdev_tx_t edma_xmit(struct sk_buff *sk } /* this will be one of the 4 TX queues exposed to linux kernel */ @@ -46,7 +44,7 @@ index 724f355..7a16236 100644 etdr = edma_cinfo->tpd_ring[queue_id]; nq = netdev_get_tx_queue(net_dev, txq_id); -@@ -1871,8 +1865,8 @@ void edma_free_irqs(struct edma_adapter *adapter) +@@ -1875,8 +1869,8 @@ void edma_free_irqs(struct edma_adapter int i, j; int k = ((edma_cinfo->num_rx_queues == 4) ? 1 : 2); @@ -57,8 +55,6 @@ index 724f355..7a16236 100644 free_irq(edma_cinfo->tx_irq[j], &edma_cinfo->edma_percpu_info[i]); for (j = edma_cinfo->edma_percpu_info[i].rx_start; j < (edma_cinfo->edma_percpu_info[i].rx_start + k); j++) -diff --git a/drivers/net/ethernet/qualcomm/essedma/edma.h b/drivers/net/ethernet/qualcomm/essedma/edma.h -index 015e5f5..abb0bd5 100644 --- a/drivers/net/ethernet/qualcomm/essedma/edma.h +++ b/drivers/net/ethernet/qualcomm/essedma/edma.h @@ -324,6 +324,7 @@ struct edma_common_info { @@ -87,11 +83,9 @@ index 015e5f5..abb0bd5 100644 u32 default_vlan_tag; /* vlan tag */ u32 dp_bitmap; uint8_t phy_id[MII_BUS_ID_SIZE + 3]; -diff --git a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c -index d53c63b..2d4770c 100644 --- a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c +++ b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c -@@ -719,11 +719,7 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -719,11 +719,7 @@ static int edma_axi_probe(struct platfor int i, j, k, err = 0; int portid_bmp; int idx = 0, idx_mac = 0; @@ -104,7 +98,7 @@ index d53c63b..2d4770c 100644 if ((num_rxq != 4) && (num_rxq != 8)) { dev_err(&pdev->dev, "Invalid RX queue, edma probe failed\n"); -@@ -747,7 +743,7 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -747,7 +743,7 @@ static int edma_axi_probe(struct platfor /* Initialize the netdev array before allocation * to avoid double free */ @@ -113,7 +107,7 @@ index d53c63b..2d4770c 100644 edma_netdev[i] = NULL; for (i = 0 ; i < edma_cinfo->num_gmac ; i++) { -@@ -768,8 +764,11 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -768,8 +764,11 @@ static int edma_axi_probe(struct platfor /* Fill ring details */ edma_cinfo->num_tx_queues = EDMA_MAX_TRANSMIT_QUEUE; @@ -126,7 +120,7 @@ index d53c63b..2d4770c 100644 /* Update num rx queues based on module parameter */ edma_cinfo->num_rx_queues = num_rxq; -@@ -939,6 +938,13 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -939,6 +938,13 @@ static int edma_axi_probe(struct platfor idx_mac++; } @@ -140,7 +134,7 @@ index d53c63b..2d4770c 100644 /* Populate the adapter structure register the netdevice */ for (i = 0; i < edma_cinfo->num_gmac; i++) { int k, m; -@@ -946,17 +952,16 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -946,17 +952,16 @@ static int edma_axi_probe(struct platfor adapter[i] = netdev_priv(edma_netdev[i]); adapter[i]->netdev = edma_netdev[i]; adapter[i]->pdev = pdev; @@ -162,7 +156,7 @@ index d53c63b..2d4770c 100644 if (edma_fill_netdev(edma_cinfo, k, i, j)) { pr_err("Netdev overflow Error\n"); goto err_register; -@@ -1109,9 +1114,12 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -1109,9 +1114,12 @@ static int edma_axi_probe(struct platfor /* populate per_core_info, do a napi_Add, request 16 TX irqs, * 8 RX irqs, do a napi enable */ @@ -176,7 +170,7 @@ index d53c63b..2d4770c 100644 edma_cinfo->edma_percpu_info[i].napi.state = 0; netif_napi_add(edma_netdev[0], -@@ -1131,7 +1139,7 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -1131,7 +1139,7 @@ static int edma_axi_probe(struct platfor /* Request irq per core */ for (j = edma_cinfo->edma_percpu_info[i].tx_start; @@ -185,7 +179,7 @@ index d53c63b..2d4770c 100644 sprintf(&edma_tx_irq[j][0], "edma_eth_tx%d", j); err = request_irq(edma_cinfo->tx_irq[j], edma_interrupt, -@@ -1253,7 +1261,7 @@ static int edma_axi_probe(struct platform_device *pdev) +@@ -1253,7 +1261,7 @@ err_configure: #endif err_rmap_add_fail: edma_free_irqs(adapter[0]); @@ -194,7 +188,7 @@ index d53c63b..2d4770c 100644 napi_disable(&edma_cinfo->edma_percpu_info[i].napi); err_reset: err_unregister_sysctl_tbl: -@@ -1301,7 +1309,7 @@ static int edma_axi_remove(struct platform_device *pdev) +@@ -1301,7 +1309,7 @@ static int edma_axi_remove(struct platfo unregister_netdev(edma_netdev[i]); edma_stop_rx_tx(hw); diff --git a/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch b/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch index 3a3e0a0000..3591326d59 100644 --- a/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch +++ b/target/linux/ipq806x/patches-4.19/0071-1-PCI-qcom-Fixed-IPQ806x-specific-clocks.patch @@ -9,7 +9,7 @@ Signed-off-by: Sham Muthayyan --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -85,6 +85,8 @@ struct qcom_pcie_resources_2_1_0 { +@@ -103,6 +103,8 @@ struct qcom_pcie_resources_2_1_0 { struct clk *iface_clk; struct clk *core_clk; struct clk *phy_clk; @@ -18,7 +18,7 @@ Signed-off-by: Sham Muthayyan struct reset_control *pci_reset; struct reset_control *axi_reset; struct reset_control *ahb_reset; -@@ -235,6 +237,14 @@ static int qcom_pcie_get_resources_2_1_0 +@@ -253,6 +255,14 @@ static int qcom_pcie_get_resources_2_1_0 if (IS_ERR(res->phy_clk)) return PTR_ERR(res->phy_clk); @@ -33,7 +33,7 @@ Signed-off-by: Sham Muthayyan res->pci_reset = devm_reset_control_get_exclusive(dev, "pci"); if (IS_ERR(res->pci_reset)) return PTR_ERR(res->pci_reset); -@@ -267,6 +277,8 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -285,6 +295,8 @@ static void qcom_pcie_deinit_2_1_0(struc clk_disable_unprepare(res->iface_clk); clk_disable_unprepare(res->core_clk); clk_disable_unprepare(res->phy_clk); @@ -42,7 +42,7 @@ Signed-off-by: Sham Muthayyan regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); } -@@ -296,16 +308,28 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -315,16 +327,28 @@ static int qcom_pcie_init_2_1_0(struct q goto err_assert_ahb; } @@ -74,7 +74,7 @@ Signed-off-by: Sham Muthayyan } ret = reset_control_deassert(res->ahb_reset); -@@ -361,10 +385,14 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -400,10 +424,14 @@ static int qcom_pcie_init_2_1_0(struct q return 0; err_deassert_ahb: diff --git a/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch b/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch index 5bd865a42e..37413757bf 100644 --- a/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch +++ b/target/linux/ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch @@ -9,7 +9,7 @@ Signed-off-by: Sham Muthayyan --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -92,6 +92,7 @@ struct qcom_pcie_resources_2_1_0 { +@@ -110,6 +110,7 @@ struct qcom_pcie_resources_2_1_0 { struct reset_control *ahb_reset; struct reset_control *por_reset; struct reset_control *phy_reset; @@ -17,7 +17,7 @@ Signed-off-by: Sham Muthayyan struct regulator_bulk_data supplies[QCOM_PCIE_2_1_0_MAX_SUPPLY]; }; -@@ -261,6 +262,10 @@ static int qcom_pcie_get_resources_2_1_0 +@@ -279,6 +280,10 @@ static int qcom_pcie_get_resources_2_1_0 if (IS_ERR(res->por_reset)) return PTR_ERR(res->por_reset); @@ -28,7 +28,7 @@ Signed-off-by: Sham Muthayyan res->phy_reset = devm_reset_control_get_exclusive(dev, "phy"); return PTR_ERR_OR_ZERO(res->phy_reset); } -@@ -274,6 +279,7 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -292,6 +297,7 @@ static void qcom_pcie_deinit_2_1_0(struc reset_control_assert(res->ahb_reset); reset_control_assert(res->por_reset); reset_control_assert(res->pci_reset); @@ -36,7 +36,7 @@ Signed-off-by: Sham Muthayyan clk_disable_unprepare(res->iface_clk); clk_disable_unprepare(res->core_clk); clk_disable_unprepare(res->phy_clk); -@@ -290,15 +296,21 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -309,15 +315,21 @@ static int qcom_pcie_init_2_1_0(struct q u32 val; int ret; diff --git a/target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch b/target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch deleted file mode 100644 index dde8fbaa7b..0000000000 --- a/target/linux/ipq806x/patches-4.19/0071-3-PCI-qcom-Fixed-IPQ806x-PCIE-init-changes.patch +++ /dev/null @@ -1,124 +0,0 @@ -From eddd13215d0f2b549ebc5f0e8796d5b1231f90a0 Mon Sep 17 00:00:00 2001 -From: Sham Muthayyan -Date: Tue, 19 Jul 2016 19:58:22 +0530 -Subject: PCI: qcom: Fixed IPQ806x PCIE init changes - -Change-Id: Ic319b1aec27a47809284759f8fcb6a8815b7cf7e -Signed-off-by: Sham Muthayyan ---- - ---- a/drivers/pci/controller/dwc/pcie-qcom.c -+++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -45,7 +45,13 @@ - #define PCIE_CAP_CPL_TIMEOUT_DISABLE 0x10 - - #define PCIE20_PARF_PHY_CTRL 0x40 -+#define PHY_CTRL_PHY_TX0_TERM_OFFSET_MASK (0x1f << 16) -+#define PHY_CTRL_PHY_TX0_TERM_OFFSET(x) (x << 16) -+ - #define PCIE20_PARF_PHY_REFCLK 0x4C -+#define REF_SSP_EN BIT(16) -+#define REF_USE_PAD BIT(12) -+ - #define PCIE20_PARF_DBI_BASE_ADDR 0x168 - #define PCIE20_PARF_SLV_ADDR_SPACE_SIZE 0x16C - #define PCIE20_PARF_MHI_CLOCK_RESET_CTRL 0x174 -@@ -76,6 +82,18 @@ - #define DBI_RO_WR_EN 1 - - #define PERST_DELAY_US 1000 -+/* PARF registers */ -+#define PCIE20_PARF_PCS_DEEMPH 0x34 -+#define PCS_DEEMPH_TX_DEEMPH_GEN1(x) (x << 16) -+#define PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(x) (x << 8) -+#define PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(x) (x << 0) -+ -+#define PCIE20_PARF_PCS_SWING 0x38 -+#define PCS_SWING_TX_SWING_FULL(x) (x << 8) -+#define PCS_SWING_TX_SWING_LOW(x) (x << 0) -+ -+#define PCIE20_PARF_CONFIG_BITS 0x50 -+#define PHY_RX0_EQ(x) (x << 24) - - #define PCIE20_v3_PARF_SLV_ADDR_SPACE_SIZE 0x358 - #define SLV_ADDR_SPACE_SZ 0x10000000 -@@ -94,6 +112,7 @@ struct qcom_pcie_resources_2_1_0 { - struct reset_control *phy_reset; - struct reset_control *ext_reset; - struct regulator_bulk_data supplies[QCOM_PCIE_2_1_0_MAX_SUPPLY]; -+ uint8_t phy_tx0_term_offset; - }; - - struct qcom_pcie_resources_1_0_0 { -@@ -173,6 +192,16 @@ struct qcom_pcie { - - #define to_qcom_pcie(x) dev_get_drvdata((x)->dev) - -+static inline void -+writel_masked(void __iomem *addr, u32 clear_mask, u32 set_mask) -+{ -+ u32 val = readl(addr); -+ -+ val &= ~clear_mask; -+ val |= set_mask; -+ writel(val, addr); -+} -+ - static void qcom_ep_reset_assert(struct qcom_pcie *pcie) - { - gpiod_set_value_cansleep(pcie->reset, 1); -@@ -266,6 +295,10 @@ static int qcom_pcie_get_resources_2_1_0 - if (IS_ERR(res->ext_reset)) - return PTR_ERR(res->ext_reset); - -+ if (of_property_read_u8(dev->of_node, "phy-tx0-term-offset", -+ &res->phy_tx0_term_offset)) -+ res->phy_tx0_term_offset = 0; -+ - res->phy_reset = devm_reset_control_get_exclusive(dev, "phy"); - return PTR_ERR_OR_ZERO(res->phy_reset); - } -@@ -293,7 +326,6 @@ static int qcom_pcie_init_2_1_0(struct q - struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; - struct dw_pcie *pci = pcie->pci; - struct device *dev = pci->dev; -- u32 val; - int ret; - - ret = reset_control_assert(res->ahb_reset); -@@ -350,15 +382,26 @@ static int qcom_pcie_init_2_1_0(struct q - goto err_deassert_ahb; - } - -- /* enable PCIe clocks and resets */ -- val = readl(pcie->parf + PCIE20_PARF_PHY_CTRL); -- val &= ~BIT(0); -- writel(val, pcie->parf + PCIE20_PARF_PHY_CTRL); -- -- /* enable external reference clock */ -- val = readl(pcie->parf + PCIE20_PARF_PHY_REFCLK); -- val |= BIT(16); -- writel(val, pcie->parf + PCIE20_PARF_PHY_REFCLK); -+ writel_masked(pcie->parf + PCIE20_PARF_PHY_CTRL, BIT(0), 0); -+ -+ /* Set Tx termination offset */ -+ writel_masked(pcie->parf + PCIE20_PARF_PHY_CTRL, -+ PHY_CTRL_PHY_TX0_TERM_OFFSET_MASK, -+ PHY_CTRL_PHY_TX0_TERM_OFFSET(res->phy_tx0_term_offset)); -+ -+ /* PARF programming */ -+ writel(PCS_DEEMPH_TX_DEEMPH_GEN1(0x18) | -+ PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(0x18) | -+ PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(0x22), -+ pcie->parf + PCIE20_PARF_PCS_DEEMPH); -+ writel(PCS_SWING_TX_SWING_FULL(0x78) | -+ PCS_SWING_TX_SWING_LOW(0x78), -+ pcie->parf + PCIE20_PARF_PCS_SWING); -+ writel(PHY_RX0_EQ(0x4), pcie->parf + PCIE20_PARF_CONFIG_BITS); -+ -+ /* Enable reference clock */ -+ writel_masked(pcie->parf + PCIE20_PARF_PHY_REFCLK, -+ REF_USE_PAD, REF_SSP_EN); - - ret = reset_control_deassert(res->phy_reset); - if (ret) { diff --git a/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch b/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch index f6ebe0c0af..8e3ccd8bfa 100644 --- a/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch +++ b/target/linux/ipq806x/patches-4.19/0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x.patch @@ -42,7 +42,7 @@ Signed-off-by: Sham Muthayyan #define PCIE20_PARF_Q2A_FLUSH 0x1AC #define PCIE20_MISC_CONTROL_1_REG 0x8BC -@@ -240,6 +264,57 @@ static void qcom_pcie_2_1_0_ltssm_enable +@@ -229,6 +253,57 @@ static void qcom_pcie_2_1_0_ltssm_enable writel(val, pcie->elbi + PCIE20_ELBI_SYS_CTRL); } @@ -100,7 +100,7 @@ Signed-off-by: Sham Muthayyan static int qcom_pcie_get_resources_2_1_0(struct qcom_pcie *pcie) { struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; -@@ -437,6 +512,9 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -433,6 +508,9 @@ static int qcom_pcie_init_2_1_0(struct q writel(CFG_BRIDGE_SB_INIT, pci->dbi_base + PCIE20_AXI_MSTR_RESP_COMP_CTRL1); diff --git a/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch b/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch index c1461e68c2..32afcbacd5 100644 --- a/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch +++ b/target/linux/ipq806x/patches-4.19/0071-6-PCI-qcom-Force-GEN1-support.patch @@ -18,7 +18,7 @@ Signed-off-by: Sham Muthayyan #define QCOM_PCIE_2_1_0_MAX_SUPPLY 3 struct qcom_pcie_resources_2_1_0 { struct clk *iface_clk; -@@ -212,6 +214,7 @@ struct qcom_pcie { +@@ -211,6 +213,7 @@ struct qcom_pcie { struct phy *phy; struct gpio_desc *reset; const struct qcom_pcie_ops *ops; @@ -26,7 +26,7 @@ Signed-off-by: Sham Muthayyan }; #define to_qcom_pcie(x) dev_get_drvdata((x)->dev) -@@ -504,6 +507,11 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -500,6 +503,11 @@ static int qcom_pcie_init_2_1_0(struct q /* wait for clock acquisition */ usleep_range(1000, 1500); @@ -38,7 +38,7 @@ Signed-off-by: Sham Muthayyan /* Set the Max TLP size to 2K, instead of using default of 4K */ -@@ -1367,6 +1375,8 @@ static int qcom_pcie_probe(struct platfo +@@ -1363,6 +1371,8 @@ static int qcom_pcie_probe(struct platfo struct dw_pcie *pci; struct qcom_pcie *pcie; int ret; @@ -47,7 +47,7 @@ Signed-off-by: Sham Muthayyan pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); if (!pcie) -@@ -1397,6 +1407,9 @@ static int qcom_pcie_probe(struct platfo +@@ -1393,6 +1403,9 @@ static int qcom_pcie_probe(struct platfo goto err_pm_runtime_put; } diff --git a/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch b/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch index e7b5b6f9af..4c8115f4b1 100644 --- a/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch +++ b/target/linux/ipq806x/patches-4.19/0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B.patch @@ -31,7 +31,7 @@ Signed-off-by: Gokul Sriram Palanisamy #define QCOM_PCIE_2_1_0_MAX_SUPPLY 3 struct qcom_pcie_resources_2_1_0 { struct clk *iface_clk; -@@ -1475,6 +1483,35 @@ err_pm_runtime_put: +@@ -1471,6 +1479,35 @@ err_pm_runtime_put: return ret; } diff --git a/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch b/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch index 7cbeb3bed7..37f493dd5b 100644 --- a/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch +++ b/target/linux/ipq806x/patches-4.19/0071-8-pcie-qcom-Fixed-pcie_phy_clk-branch-issue.patch @@ -38,7 +38,7 @@ Signed-off-by: Abhishek Sahu --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -393,6 +393,7 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -378,6 +378,7 @@ static void qcom_pcie_deinit_2_1_0(struc { struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; @@ -46,7 +46,7 @@ Signed-off-by: Abhishek Sahu reset_control_assert(res->pci_reset); reset_control_assert(res->axi_reset); reset_control_assert(res->ahb_reset); -@@ -401,7 +402,6 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -386,7 +387,6 @@ static void qcom_pcie_deinit_2_1_0(struc reset_control_assert(res->ext_reset); clk_disable_unprepare(res->iface_clk); clk_disable_unprepare(res->core_clk); @@ -54,7 +54,7 @@ Signed-off-by: Abhishek Sahu clk_disable_unprepare(res->aux_clk); clk_disable_unprepare(res->ref_clk); regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); -@@ -444,12 +444,6 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -431,12 +431,6 @@ static int qcom_pcie_init_2_1_0(struct q goto err_clk_core; } @@ -67,7 +67,7 @@ Signed-off-by: Abhishek Sahu ret = clk_prepare_enable(res->aux_clk); if (ret) { dev_err(dev, "cannot prepare/enable aux clock\n"); -@@ -513,6 +507,12 @@ static int qcom_pcie_init_2_1_0(struct q +@@ -509,6 +503,12 @@ static int qcom_pcie_init_2_1_0(struct q return ret; } @@ -80,7 +80,7 @@ Signed-off-by: Abhishek Sahu /* wait for clock acquisition */ usleep_range(1000, 1500); if (pcie->force_gen1) { -@@ -538,8 +538,6 @@ err_deassert_ahb: +@@ -534,8 +534,6 @@ err_deassert_ahb: err_clk_ref: clk_disable_unprepare(res->aux_clk); err_clk_aux: diff --git a/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch b/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch index 3fff78bfd4..fbf3849ed2 100644 --- a/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch +++ b/target/linux/ipq806x/patches-4.19/0071-9-pcie-qcom-change-duplicate-pci-reset-to-phy-reset.patch @@ -14,7 +14,7 @@ Signed-off-by: Abhishek Sahu --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c -@@ -394,7 +394,7 @@ static void qcom_pcie_deinit_2_1_0(struc +@@ -379,7 +379,7 @@ static void qcom_pcie_deinit_2_1_0(struc struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; clk_disable_unprepare(res->phy_clk); diff --git a/target/linux/lantiq/patches-4.19/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-4.19/0001-MIPS-lantiq-add-pcie-driver.patch index 44959af0c3..f201c57c72 100644 --- a/target/linux/lantiq/patches-4.19/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-4.19/0001-MIPS-lantiq-add-pcie-driver.patch @@ -5494,7 +5494,7 @@ Signed-off-by: John Crispin (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 +@@ -1328,6 +1328,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); diff --git a/target/linux/mvebu/patches-4.19/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch b/target/linux/mvebu/patches-4.19/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch index 77af3d1219..c0200fbd7c 100644 --- a/target/linux/mvebu/patches-4.19/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch +++ b/target/linux/mvebu/patches-4.19/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch @@ -15,7 +15,7 @@ Signed-off-by: Gregory CLEMENT --- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts -@@ -60,9 +60,31 @@ +@@ -66,9 +66,31 @@ cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>; marvell,pad-type = "sd"; vqmmc-supply = <&vcc_sd_reg1>; diff --git a/target/linux/mvebu/patches-4.19/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch b/target/linux/mvebu/patches-4.19/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch index 0f39b2a3c2..b835057a06 100644 --- a/target/linux/mvebu/patches-4.19/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch +++ b/target/linux/mvebu/patches-4.19/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch @@ -29,7 +29,7 @@ Signed-off-by: Tomasz Maciej Nowak --- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts -@@ -90,25 +90,9 @@ +@@ -96,25 +96,9 @@ flash@0 { reg = <0>; diff --git a/target/linux/mvebu/patches-4.19/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch b/target/linux/mvebu/patches-4.19/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch index cea0d1db44..280ded2b4a 100644 --- a/target/linux/mvebu/patches-4.19/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch +++ b/target/linux/mvebu/patches-4.19/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch @@ -15,7 +15,7 @@ Signed-off-by: Tomasz Maciej Nowak --- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts -@@ -132,7 +132,7 @@ +@@ -138,7 +138,7 @@ dsa,member = <0 0>; diff --git a/target/linux/mvebu/patches-4.19/528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch b/target/linux/mvebu/patches-4.19/528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch index 88080d64ca..4aaacf0d6a 100644 --- a/target/linux/mvebu/patches-4.19/528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch +++ b/target/linux/mvebu/patches-4.19/528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch @@ -62,7 +62,7 @@ Signed-off-by: Tomasz Maciej Nowak --- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts -@@ -46,6 +46,8 @@ +@@ -52,6 +52,8 @@ /* J9 */ &pcie0 { status = "okay";