From: Hauke Mehrtens Date: Sat, 6 Jan 2018 01:08:42 +0000 (+0100) Subject: kernel: update kernel 4.4 to version 4.4.110 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=7f5a040359cf227bc54d2ef553d469f85ed413e2;p=openwrt%2Fstaging%2Fhauke.git kernel: update kernel 4.4 to version 4.4.110 This fixes: CVE-2017-5754 Signed-off-by: Hauke Mehrtens --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index fc7f46f6e2..c6231ce870 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,10 +3,10 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .43 -LINUX_VERSION-4.4 = .108 +LINUX_VERSION-4.4 = .110 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c -LINUX_KERNEL_HASH-4.4.108 = 5a001198625ce9f7b0ef1e4b43e033aea859e1ef3509532412cce8f0375ba51a +LINUX_KERNEL_HASH-4.4.110 = d099175aac5678e6cad2f23cd56ed22a2857143c0c18489390c95ba8c441db58 ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch index e25e15bbbb..91c5c1ff10 100644 --- a/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch +++ b/target/linux/apm821xx/patches-4.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch @@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter #include "xhci.h" #include "xhci-trace.h" -@@ -224,6 +226,458 @@ static void xhci_pme_acpi_rtd3_enable(st +@@ -227,6 +229,458 @@ static void xhci_pme_acpi_rtd3_enable(st static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { } #endif /* CONFIG_ACPI */ @@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter /* called during probe() after chip reset completes */ static int xhci_pci_setup(struct usb_hcd *hcd) { -@@ -263,6 +717,22 @@ static int xhci_pci_probe(struct pci_dev +@@ -266,6 +720,22 @@ static int xhci_pci_probe(struct pci_dev struct hc_driver *driver; struct usb_hcd *hcd; @@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter driver = (struct hc_driver *)id->driver_data; /* Prevent runtime suspending between USB-2 and USB-3 initialization */ -@@ -320,6 +790,16 @@ static void xhci_pci_remove(struct pci_d +@@ -323,6 +793,16 @@ static void xhci_pci_remove(struct pci_d { struct xhci_hcd *xhci; diff --git a/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch index c34108ebad..ee56eb34eb 100644 --- a/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch @@ -13,8 +13,8 @@ produce a noisy warning. --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -188,7 +188,7 @@ static void xhci_pci_quirks(struct devic - } +@@ -191,7 +191,7 @@ static void xhci_pci_quirks(struct devic + xhci->quirks |= XHCI_TRUST_TX_LENGTH; if (pdev->vendor == PCI_VENDOR_ID_RENESAS && pdev->device == 0x0015) - xhci->quirks |= XHCI_RESET_ON_RESUME; diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch index 8789b644a6..8882b1758f 100644 --- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch @@ -491,7 +491,7 @@ memcpy(p, foc->val, foc->len); --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c -@@ -505,7 +505,7 @@ static struct sk_buff *add_grec(struct s +@@ -529,7 +529,7 @@ static struct sk_buff *add_grec(struct s if (!skb) return NULL; psrc = (__be32 *)skb_put(skb, sizeof(__be32)); diff --git a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch index 5f46885708..b11104be9e 100644 --- a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch +++ b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch @@ -1,6 +1,6 @@ --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c -@@ -1228,24 +1228,7 @@ void netlink_detachskb(struct sock *sk, +@@ -1231,24 +1231,7 @@ void netlink_detachskb(struct sock *sk, static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation) { diff --git a/target/linux/generic/patches-4.4/902-debloat_proc.patch b/target/linux/generic/patches-4.4/902-debloat_proc.patch index 5aada68e31..248ba8f670 100644 --- a/target/linux/generic/patches-4.4/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.4/902-debloat_proc.patch @@ -133,7 +133,7 @@ } --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -1555,10 +1555,12 @@ static int __init setup_vmstat(void) +@@ -1556,10 +1556,12 @@ static int __init setup_vmstat(void) cpu_notifier_register_done(); #endif #ifdef CONFIG_PROC_FS diff --git a/target/linux/generic/patches-4.4/921-use_preinit_as_init.patch b/target/linux/generic/patches-4.4/921-use_preinit_as_init.patch index 1f4e6322b1..3aba9d63ba 100644 --- a/target/linux/generic/patches-4.4/921-use_preinit_as_init.patch +++ b/target/linux/generic/patches-4.4/921-use_preinit_as_init.patch @@ -1,6 +1,6 @@ --- a/init/main.c +++ b/init/main.c -@@ -964,7 +964,8 @@ static int __ref kernel_init(void *unuse +@@ -966,7 +966,8 @@ static int __ref kernel_init(void *unuse panic("Requested init %s failed (error %d).", execute_command, ret); } diff --git a/target/linux/generic/patches-4.4/995-mangle_bootargs.patch b/target/linux/generic/patches-4.4/995-mangle_bootargs.patch index 2483e1bb98..e008dd9098 100644 --- a/target/linux/generic/patches-4.4/995-mangle_bootargs.patch +++ b/target/linux/generic/patches-4.4/995-mangle_bootargs.patch @@ -1,6 +1,6 @@ --- a/init/main.c +++ b/init/main.c -@@ -355,6 +355,29 @@ static inline void setup_nr_cpu_ids(void +@@ -356,6 +356,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -30,7 +30,7 @@ /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -527,6 +550,7 @@ asmlinkage __visible void __init start_k +@@ -529,6 +552,7 @@ asmlinkage __visible void __init start_k pr_notice("%s", linux_banner); setup_arch(&command_line); mm_init_cpumask(&init_mm); diff --git a/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch b/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch index be15ec4772..29f09f2323 100644 --- a/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch +++ b/target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch @@ -153,7 +153,7 @@ Signed-off-by: Adrian Panella } --- a/init/main.c +++ b/init/main.c -@@ -88,6 +88,10 @@ +@@ -89,6 +89,10 @@ #include #include @@ -164,7 +164,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -560,6 +564,18 @@ asmlinkage __visible void __init start_k +@@ -562,6 +566,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/mvebu/patches-4.4/030-mvneta-consolidate-autoneg-enabling.patch b/target/linux/mvebu/patches-4.4/030-mvneta-consolidate-autoneg-enabling.patch index c398a47341..fbee3d2887 100644 --- a/target/linux/mvebu/patches-4.4/030-mvneta-consolidate-autoneg-enabling.patch +++ b/target/linux/mvebu/patches-4.4/030-mvneta-consolidate-autoneg-enabling.patch @@ -14,7 +14,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -1067,15 +1067,28 @@ static void mvneta_defaults_set(struct m +@@ -1071,15 +1071,28 @@ static void mvneta_defaults_set(struct m MVNETA_GMAC_AN_SPEED_EN | MVNETA_GMAC_AN_DUPLEX_EN; mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); @@ -43,7 +43,7 @@ Signed-off-by: David S. Miller } mvneta_set_ucast_table(pp, -1); -@@ -3228,9 +3241,6 @@ static int mvneta_port_power_up(struct m +@@ -3232,9 +3245,6 @@ static int mvneta_port_power_up(struct m return -EINVAL; } diff --git a/target/linux/mvebu/patches-4.4/031-mvneta-implement-ethtool-autonegotiation-control.patch b/target/linux/mvebu/patches-4.4/031-mvneta-implement-ethtool-autonegotiation-control.patch index dc4a224b74..3154d7cfbe 100644 --- a/target/linux/mvebu/patches-4.4/031-mvneta-implement-ethtool-autonegotiation-control.patch +++ b/target/linux/mvebu/patches-4.4/031-mvneta-implement-ethtool-autonegotiation-control.patch @@ -32,7 +32,7 @@ Signed-off-by: David S. Miller u64 ethtool_stats[ARRAY_SIZE(mvneta_statistics)]; }; -@@ -973,6 +973,44 @@ static void mvneta_set_other_mcast_table +@@ -977,6 +977,44 @@ static void mvneta_set_other_mcast_table mvreg_write(pp, MVNETA_DA_FILT_OTH_MCAST + offset, val); } @@ -77,7 +77,7 @@ Signed-off-by: David S. Miller /* This method sets defaults to the NETA port: * Clears interrupt Cause and Mask registers. * Clears all MAC tables. -@@ -1058,39 +1096,7 @@ static void mvneta_defaults_set(struct m +@@ -1062,39 +1100,7 @@ static void mvneta_defaults_set(struct m val &= ~MVNETA_PHY_POLLING_ENABLE; mvreg_write(pp, MVNETA_UNIT_CONTROL, val); @@ -118,7 +118,7 @@ Signed-off-by: David S. Miller mvneta_set_ucast_table(pp, -1); mvneta_set_special_mcast_table(pp, -1); mvneta_set_other_mcast_table(pp, -1); -@@ -2954,10 +2960,43 @@ int mvneta_ethtool_get_settings(struct n +@@ -2958,10 +2964,43 @@ int mvneta_ethtool_get_settings(struct n int mvneta_ethtool_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) { struct mvneta_port *pp = netdev_priv(dev); diff --git a/target/linux/mvebu/patches-4.4/032-net-mvneta-Make-the-default-queue-related-for-each-p.patch b/target/linux/mvebu/patches-4.4/032-net-mvneta-Make-the-default-queue-related-for-each-p.patch index 83782a0b4f..3be47abc8a 100644 --- a/target/linux/mvebu/patches-4.4/032-net-mvneta-Make-the-default-queue-related-for-each-p.patch +++ b/target/linux/mvebu/patches-4.4/032-net-mvneta-Make-the-default-queue-related-for-each-p.patch @@ -28,7 +28,7 @@ Signed-off-by: David S. Miller } /* Stop the Ethernet port activity */ -@@ -1067,7 +1068,7 @@ static void mvneta_defaults_set(struct m +@@ -1071,7 +1072,7 @@ static void mvneta_defaults_set(struct m mvreg_write(pp, MVNETA_ACC_MODE, val); /* Update val of portCfg register accordingly with all RxQueue types */ @@ -37,7 +37,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_PORT_CONFIG, val); val = 0; -@@ -2101,19 +2102,19 @@ static void mvneta_set_rx_mode(struct ne +@@ -2105,19 +2106,19 @@ static void mvneta_set_rx_mode(struct ne if (dev->flags & IFF_PROMISC) { /* Accept all: Multicast + Unicast */ mvneta_rx_unicast_promisc_set(pp, 1); @@ -63,7 +63,7 @@ Signed-off-by: David S. Miller } else { /* Accept only initialized multicast */ mvneta_set_special_mcast_table(pp, -1); -@@ -2122,7 +2123,7 @@ static void mvneta_set_rx_mode(struct ne +@@ -2126,7 +2127,7 @@ static void mvneta_set_rx_mode(struct ne if (!netdev_mc_empty(dev)) { netdev_for_each_mc_addr(ha, dev) { mvneta_mcast_addr_set(pp, ha->addr, @@ -72,7 +72,7 @@ Signed-off-by: David S. Miller } } } -@@ -2205,7 +2206,7 @@ static int mvneta_poll(struct napi_struc +@@ -2209,7 +2210,7 @@ static int mvneta_poll(struct napi_struc * RX packets */ cause_rx_tx |= port->cause_rx_tx; @@ -81,7 +81,7 @@ Signed-off-by: David S. Miller budget -= rx_done; if (budget > 0) { -@@ -2418,17 +2419,17 @@ static void mvneta_cleanup_txqs(struct m +@@ -2422,17 +2423,17 @@ static void mvneta_cleanup_txqs(struct m /* Cleanup all Rx queues */ static void mvneta_cleanup_rxqs(struct mvneta_port *pp) { @@ -102,7 +102,7 @@ Signed-off-by: David S. Miller mvneta_cleanup_rxqs(pp); return err; } -@@ -2634,7 +2635,7 @@ static int mvneta_set_mac_addr(struct ne +@@ -2638,7 +2639,7 @@ static int mvneta_set_mac_addr(struct ne mvneta_mac_addr_set(pp, dev->dev_addr, -1); /* Set new addr in hw */ @@ -111,7 +111,7 @@ Signed-off-by: David S. Miller eth_commit_mac_addr_change(dev, addr); return 0; -@@ -2753,7 +2754,7 @@ static void mvneta_percpu_elect(struct m +@@ -2757,7 +2758,7 @@ static void mvneta_percpu_elect(struct m { int online_cpu_idx, cpu, i = 0; @@ -120,7 +120,7 @@ Signed-off-by: David S. Miller for_each_online_cpu(cpu) { if (i == online_cpu_idx) -@@ -3361,6 +3362,8 @@ static int mvneta_probe(struct platform_ +@@ -3365,6 +3366,8 @@ static int mvneta_probe(struct platform_ strcmp(managed, "in-band-status") == 0); pp->cpu_notifier.notifier_call = mvneta_percpu_notifier; diff --git a/target/linux/mvebu/patches-4.4/033-net-mvneta-Associate-RX-queues-with-each-CPU.patch b/target/linux/mvebu/patches-4.4/033-net-mvneta-Associate-RX-queues-with-each-CPU.patch index 636c6cf364..a08d5fdcba 100644 --- a/target/linux/mvebu/patches-4.4/033-net-mvneta-Associate-RX-queues-with-each-CPU.patch +++ b/target/linux/mvebu/patches-4.4/033-net-mvneta-Associate-RX-queues-with-each-CPU.patch @@ -47,7 +47,7 @@ Signed-off-by: David S. Miller } /* Stop the Ethernet port activity */ -@@ -1026,6 +1039,7 @@ static void mvneta_defaults_set(struct m +@@ -1030,6 +1043,7 @@ static void mvneta_defaults_set(struct m int cpu; int queue; u32 val; @@ -55,7 +55,7 @@ Signed-off-by: David S. Miller /* Clear all Cause registers */ mvreg_write(pp, MVNETA_INTR_NEW_CAUSE, 0); -@@ -1041,13 +1055,23 @@ static void mvneta_defaults_set(struct m +@@ -1045,13 +1059,23 @@ static void mvneta_defaults_set(struct m /* Enable MBUS Retry bit16 */ mvreg_write(pp, MVNETA_MBUS_RETRY, 0x20); @@ -85,7 +85,7 @@ Signed-off-by: David S. Miller /* Reset RX and TX DMAs */ mvreg_write(pp, MVNETA_PORT_RX_RESET, MVNETA_PORT_RX_DMA_RESET); -@@ -2174,6 +2198,7 @@ static int mvneta_poll(struct napi_struc +@@ -2178,6 +2202,7 @@ static int mvneta_poll(struct napi_struc { int rx_done = 0; u32 cause_rx_tx; @@ -93,7 +93,7 @@ Signed-off-by: David S. Miller struct mvneta_port *pp = netdev_priv(napi->dev); struct mvneta_pcpu_port *port = this_cpu_ptr(pp->ports); -@@ -2205,8 +2230,15 @@ static int mvneta_poll(struct napi_struc +@@ -2209,8 +2234,15 @@ static int mvneta_poll(struct napi_struc /* For the case where the last mvneta_poll did not process all * RX packets */ @@ -110,7 +110,7 @@ Signed-off-by: David S. Miller budget -= rx_done; if (budget > 0) { -@@ -2419,19 +2451,27 @@ static void mvneta_cleanup_txqs(struct m +@@ -2423,19 +2455,27 @@ static void mvneta_cleanup_txqs(struct m /* Cleanup all Rx queues */ static void mvneta_cleanup_rxqs(struct mvneta_port *pp) { @@ -145,7 +145,7 @@ Signed-off-by: David S. Miller } return 0; -@@ -2455,6 +2495,19 @@ static int mvneta_setup_txqs(struct mvne +@@ -2459,6 +2499,19 @@ static int mvneta_setup_txqs(struct mvne return 0; } @@ -165,7 +165,7 @@ Signed-off-by: David S. Miller static void mvneta_start_dev(struct mvneta_port *pp) { unsigned int cpu; -@@ -2472,11 +2525,10 @@ static void mvneta_start_dev(struct mvne +@@ -2476,11 +2529,10 @@ static void mvneta_start_dev(struct mvne napi_enable(&port->napi); } @@ -181,7 +181,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_INTR_MISC_MASK, MVNETA_CAUSE_PHY_STATUS_CHANGE | MVNETA_CAUSE_LINK_CHANGE | -@@ -2752,22 +2804,35 @@ static void mvneta_percpu_disable(void * +@@ -2756,22 +2808,35 @@ static void mvneta_percpu_disable(void * static void mvneta_percpu_elect(struct mvneta_port *pp) { @@ -227,7 +227,7 @@ Signed-off-by: David S. Miller } }; -@@ -2802,12 +2867,22 @@ static int mvneta_percpu_notifier(struct +@@ -2806,12 +2871,22 @@ static int mvneta_percpu_notifier(struct mvreg_write(pp, MVNETA_INTR_MISC_MASK, 0); napi_enable(&port->napi); @@ -251,7 +251,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_INTR_NEW_MASK, MVNETA_RX_INTR_MASK(rxq_number) | MVNETA_TX_INTR_MASK(txq_number) | -@@ -2858,7 +2933,7 @@ static int mvneta_percpu_notifier(struct +@@ -2862,7 +2937,7 @@ static int mvneta_percpu_notifier(struct static int mvneta_open(struct net_device *dev) { struct mvneta_port *pp = netdev_priv(dev); @@ -260,7 +260,7 @@ Signed-off-by: David S. Miller pp->pkt_size = MVNETA_RX_PKT_SIZE(pp->dev->mtu); pp->frag_size = SKB_DATA_ALIGN(MVNETA_RX_BUF_SIZE(pp->pkt_size)) + -@@ -2888,8 +2963,13 @@ static int mvneta_open(struct net_device +@@ -2892,8 +2967,13 @@ static int mvneta_open(struct net_device */ mvneta_percpu_disable(pp); diff --git a/target/linux/mvebu/patches-4.4/034-net-mvneta-Add-naive-RSS-support.patch b/target/linux/mvebu/patches-4.4/034-net-mvneta-Add-naive-RSS-support.patch index 9d729b50bb..ee2c71b5e9 100644 --- a/target/linux/mvebu/patches-4.4/034-net-mvneta-Add-naive-RSS-support.patch +++ b/target/linux/mvebu/patches-4.4/034-net-mvneta-Add-naive-RSS-support.patch @@ -34,7 +34,7 @@ Signed-off-by: David S. Miller }; /* The mvneta_tx_desc and mvneta_rx_desc structures describe the -@@ -1067,7 +1074,7 @@ static void mvneta_defaults_set(struct m +@@ -1071,7 +1078,7 @@ static void mvneta_defaults_set(struct m if ((rxq % max_cpu) == cpu) rxq_map |= MVNETA_CPU_RXQ_ACCESS(rxq); @@ -43,7 +43,7 @@ Signed-off-by: David S. Miller txq_map = MVNETA_CPU_TXQ_ACCESS_ALL_MASK; mvreg_write(pp, MVNETA_CPU_MAP(cpu), rxq_map | txq_map); -@@ -2508,6 +2515,18 @@ static void mvneta_percpu_unmask_interru +@@ -2512,6 +2519,18 @@ static void mvneta_percpu_unmask_interru MVNETA_MISCINTR_INTR_MASK); } @@ -62,7 +62,7 @@ Signed-off-by: David S. Miller static void mvneta_start_dev(struct mvneta_port *pp) { unsigned int cpu; -@@ -3229,6 +3248,106 @@ static int mvneta_ethtool_get_sset_count +@@ -3233,6 +3252,106 @@ static int mvneta_ethtool_get_sset_count return -EOPNOTSUPP; } @@ -169,7 +169,7 @@ Signed-off-by: David S. Miller static const struct net_device_ops mvneta_netdev_ops = { .ndo_open = mvneta_open, .ndo_stop = mvneta_stop, -@@ -3253,6 +3372,10 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3257,6 +3376,10 @@ const struct ethtool_ops mvneta_eth_tool .get_strings = mvneta_ethtool_get_strings, .get_ethtool_stats = mvneta_ethtool_get_stats, .get_sset_count = mvneta_ethtool_get_sset_count, @@ -180,7 +180,7 @@ Signed-off-by: David S. Miller }; /* Initialize hw */ -@@ -3444,6 +3567,8 @@ static int mvneta_probe(struct platform_ +@@ -3448,6 +3571,8 @@ static int mvneta_probe(struct platform_ pp->rxq_def = rxq_def; diff --git a/target/linux/mvebu/patches-4.4/035-net-mvneta-Configure-XPS-support.patch b/target/linux/mvebu/patches-4.4/035-net-mvneta-Configure-XPS-support.patch index 5b35b6442b..7389466b6d 100644 --- a/target/linux/mvebu/patches-4.4/035-net-mvneta-Configure-XPS-support.patch +++ b/target/linux/mvebu/patches-4.4/035-net-mvneta-Configure-XPS-support.patch @@ -32,7 +32,7 @@ Signed-off-by: David S. Miller }; struct mvneta_rx_queue { -@@ -1062,20 +1066,30 @@ static void mvneta_defaults_set(struct m +@@ -1066,20 +1070,30 @@ static void mvneta_defaults_set(struct m /* Enable MBUS Retry bit16 */ mvreg_write(pp, MVNETA_MBUS_RETRY, 0x20); @@ -69,7 +69,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_CPU_MAP(cpu), rxq_map | txq_map); } -@@ -2362,6 +2376,8 @@ static void mvneta_rxq_deinit(struct mvn +@@ -2366,6 +2380,8 @@ static void mvneta_rxq_deinit(struct mvn static int mvneta_txq_init(struct mvneta_port *pp, struct mvneta_tx_queue *txq) { @@ -78,7 +78,7 @@ Signed-off-by: David S. Miller txq->size = pp->tx_ring_size; /* A queue must always have room for at least one skb. -@@ -2414,6 +2430,14 @@ static int mvneta_txq_init(struct mvneta +@@ -2418,6 +2434,14 @@ static int mvneta_txq_init(struct mvneta } mvneta_tx_done_pkts_coal_set(pp, txq, txq->done_pkts_coal); @@ -93,7 +93,7 @@ Signed-off-by: David S. Miller return 0; } -@@ -2836,13 +2860,23 @@ static void mvneta_percpu_elect(struct m +@@ -2840,13 +2864,23 @@ static void mvneta_percpu_elect(struct m if ((rxq % max_cpu) == cpu) rxq_map |= MVNETA_CPU_RXQ_ACCESS(rxq); diff --git a/target/linux/mvebu/patches-4.4/036-net-mvneta-fix-trivial-cut-off-issue-in-mvneta_ethto.patch b/target/linux/mvebu/patches-4.4/036-net-mvneta-fix-trivial-cut-off-issue-in-mvneta_ethto.patch index d88336701d..e79a11a4f1 100644 --- a/target/linux/mvebu/patches-4.4/036-net-mvneta-fix-trivial-cut-off-issue-in-mvneta_ethto.patch +++ b/target/linux/mvebu/patches-4.4/036-net-mvneta-fix-trivial-cut-off-issue-in-mvneta_ethto.patch @@ -13,7 +13,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3240,26 +3240,25 @@ static void mvneta_ethtool_update_stats( +@@ -3244,26 +3244,25 @@ static void mvneta_ethtool_update_stats( const struct mvneta_statistic *s; void __iomem *base = pp->base; u32 high, low, val; diff --git a/target/linux/mvebu/patches-4.4/038-net-mvneta-Fix-the-CPU-choice-in-mvneta_percpu_elect.patch b/target/linux/mvebu/patches-4.4/038-net-mvneta-Fix-the-CPU-choice-in-mvneta_percpu_elect.patch index 4fc9ccc76a..3423307c1c 100644 --- a/target/linux/mvebu/patches-4.4/038-net-mvneta-Fix-the-CPU-choice-in-mvneta_percpu_elect.patch +++ b/target/linux/mvebu/patches-4.4/038-net-mvneta-Fix-the-CPU-choice-in-mvneta_percpu_elect.patch @@ -20,7 +20,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -2847,9 +2847,14 @@ static void mvneta_percpu_disable(void * +@@ -2851,9 +2851,14 @@ static void mvneta_percpu_disable(void * static void mvneta_percpu_elect(struct mvneta_port *pp) { @@ -37,7 +37,7 @@ Signed-off-by: David S. Miller max_cpu = num_present_cpus(); for_each_online_cpu(cpu) { -@@ -2860,7 +2865,7 @@ static void mvneta_percpu_elect(struct m +@@ -2864,7 +2869,7 @@ static void mvneta_percpu_elect(struct m if ((rxq % max_cpu) == cpu) rxq_map |= MVNETA_CPU_RXQ_ACCESS(rxq); @@ -46,7 +46,7 @@ Signed-off-by: David S. Miller /* Map the default receive queue queue to the * elected CPU */ -@@ -2871,7 +2876,7 @@ static void mvneta_percpu_elect(struct m +@@ -2875,7 +2880,7 @@ static void mvneta_percpu_elect(struct m * the CPU bound to the default RX queue */ if (txq_number == 1) diff --git a/target/linux/mvebu/patches-4.4/039-net-mvneta-Use-on_each_cpu-when-possible.patch b/target/linux/mvebu/patches-4.4/039-net-mvneta-Use-on_each_cpu-when-possible.patch index 76257a2a71..8d22df0f9c 100644 --- a/target/linux/mvebu/patches-4.4/039-net-mvneta-Use-on_each_cpu-when-possible.patch +++ b/target/linux/mvebu/patches-4.4/039-net-mvneta-Use-on_each_cpu-when-possible.patch @@ -14,7 +14,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -2553,7 +2553,7 @@ static void mvneta_percpu_mask_interrupt +@@ -2557,7 +2557,7 @@ static void mvneta_percpu_mask_interrupt static void mvneta_start_dev(struct mvneta_port *pp) { @@ -23,7 +23,7 @@ Signed-off-by: David S. Miller mvneta_max_rx_size_set(pp, pp->pkt_size); mvneta_txq_max_tx_size_set(pp, pp->pkt_size); -@@ -2569,9 +2569,8 @@ static void mvneta_start_dev(struct mvne +@@ -2573,9 +2573,8 @@ static void mvneta_start_dev(struct mvne } /* Unmask interrupts. It has to be done from each CPU */ @@ -35,7 +35,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_INTR_MISC_MASK, MVNETA_CAUSE_PHY_STATUS_CHANGE | MVNETA_CAUSE_LINK_CHANGE | -@@ -2991,7 +2990,7 @@ static int mvneta_percpu_notifier(struct +@@ -2995,7 +2994,7 @@ static int mvneta_percpu_notifier(struct static int mvneta_open(struct net_device *dev) { struct mvneta_port *pp = netdev_priv(dev); @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller pp->pkt_size = MVNETA_RX_PKT_SIZE(pp->dev->mtu); pp->frag_size = SKB_DATA_ALIGN(MVNETA_RX_BUF_SIZE(pp->pkt_size)) + -@@ -3024,9 +3023,7 @@ static int mvneta_open(struct net_device +@@ -3028,9 +3027,7 @@ static int mvneta_open(struct net_device /* Enable per-CPU interrupt on all the CPU to handle our RX * queue interrupts */ @@ -55,7 +55,7 @@ Signed-off-by: David S. Miller /* Register a CPU notifier to handle the case where our CPU -@@ -3313,9 +3310,7 @@ static int mvneta_config_rss(struct mvn +@@ -3317,9 +3314,7 @@ static int mvneta_config_rss(struct mvn netif_tx_stop_all_queues(pp->dev); diff --git a/target/linux/mvebu/patches-4.4/040-net-mvneta-Modify-the-queue-related-fields-from-each.patch b/target/linux/mvebu/patches-4.4/040-net-mvneta-Modify-the-queue-related-fields-from-each.patch index b025777df9..acb6c94bb2 100644 --- a/target/linux/mvebu/patches-4.4/040-net-mvneta-Modify-the-queue-related-fields-from-each.patch +++ b/target/linux/mvebu/patches-4.4/040-net-mvneta-Modify-the-queue-related-fields-from-each.patch @@ -17,7 +17,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -1036,6 +1036,43 @@ static void mvneta_set_autoneg(struct mv +@@ -1040,6 +1040,43 @@ static void mvneta_set_autoneg(struct mv } } @@ -61,7 +61,7 @@ Signed-off-by: David S. Miller /* This method sets defaults to the NETA port: * Clears interrupt Cause and Mask registers. * Clears all MAC tables. -@@ -1053,14 +1090,10 @@ static void mvneta_defaults_set(struct m +@@ -1057,14 +1094,10 @@ static void mvneta_defaults_set(struct m int max_cpu = num_present_cpus(); /* Clear all Cause registers */ @@ -78,7 +78,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_INTR_ENABLE, 0); /* Enable MBUS Retry bit16 */ -@@ -2526,31 +2559,6 @@ static int mvneta_setup_txqs(struct mvne +@@ -2530,31 +2563,6 @@ static int mvneta_setup_txqs(struct mvne return 0; } @@ -110,7 +110,7 @@ Signed-off-by: David S. Miller static void mvneta_start_dev(struct mvneta_port *pp) { int cpu; -@@ -2601,13 +2609,10 @@ static void mvneta_stop_dev(struct mvnet +@@ -2605,13 +2613,10 @@ static void mvneta_stop_dev(struct mvnet mvneta_port_disable(pp); /* Clear all ethernet port interrupts */ @@ -126,7 +126,7 @@ Signed-off-by: David S. Miller mvneta_tx_reset(pp); mvneta_rx_reset(pp); -@@ -2919,9 +2924,7 @@ static int mvneta_percpu_notifier(struct +@@ -2923,9 +2928,7 @@ static int mvneta_percpu_notifier(struct } /* Mask all ethernet port interrupts */ @@ -137,7 +137,7 @@ Signed-off-by: David S. Miller napi_enable(&port->napi); -@@ -2936,14 +2939,8 @@ static int mvneta_percpu_notifier(struct +@@ -2940,14 +2943,8 @@ static int mvneta_percpu_notifier(struct */ mvneta_percpu_elect(pp); @@ -154,7 +154,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_INTR_MISC_MASK, MVNETA_CAUSE_PHY_STATUS_CHANGE | MVNETA_CAUSE_LINK_CHANGE | -@@ -2954,9 +2951,7 @@ static int mvneta_percpu_notifier(struct +@@ -2958,9 +2955,7 @@ static int mvneta_percpu_notifier(struct case CPU_DOWN_PREPARE_FROZEN: netif_tx_stop_all_queues(pp->dev); /* Mask all ethernet port interrupts */ @@ -165,7 +165,7 @@ Signed-off-by: David S. Miller napi_synchronize(&port->napi); napi_disable(&port->napi); -@@ -2972,10 +2967,7 @@ static int mvneta_percpu_notifier(struct +@@ -2976,10 +2971,7 @@ static int mvneta_percpu_notifier(struct /* Check if a new CPU must be elected now this on is down */ mvneta_percpu_elect(pp); /* Unmask all ethernet port interrupts */ diff --git a/target/linux/mvebu/patches-4.4/041-net-mvneta-The-mvneta_percpu_elect-function-should-b.patch b/target/linux/mvebu/patches-4.4/041-net-mvneta-The-mvneta_percpu_elect-function-should-b.patch index a77bef44e4..1d3d6aaf14 100644 --- a/target/linux/mvebu/patches-4.4/041-net-mvneta-The-mvneta_percpu_elect-function-should-b.patch +++ b/target/linux/mvebu/patches-4.4/041-net-mvneta-The-mvneta_percpu_elect-function-should-b.patch @@ -31,7 +31,7 @@ Signed-off-by: David S. Miller /* Core clock */ struct clk *clk; -@@ -2853,6 +2857,12 @@ static void mvneta_percpu_elect(struct m +@@ -2857,6 +2861,12 @@ static void mvneta_percpu_elect(struct m { int elected_cpu = 0, max_cpu, cpu, i = 0; @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller /* Use the cpu associated to the rxq when it is online, in all * the other cases, use the cpu 0 which can't be offline. */ -@@ -2896,6 +2906,7 @@ static void mvneta_percpu_elect(struct m +@@ -2900,6 +2910,7 @@ static void mvneta_percpu_elect(struct m i++; } @@ -52,7 +52,7 @@ Signed-off-by: David S. Miller }; static int mvneta_percpu_notifier(struct notifier_block *nfb, -@@ -2950,8 +2961,13 @@ static int mvneta_percpu_notifier(struct +@@ -2954,8 +2965,13 @@ static int mvneta_percpu_notifier(struct case CPU_DOWN_PREPARE: case CPU_DOWN_PREPARE_FROZEN: netif_tx_stop_all_queues(pp->dev); diff --git a/target/linux/mvebu/patches-4.4/042-net-mvneta-Fix-race-condition-during-stopping.patch b/target/linux/mvebu/patches-4.4/042-net-mvneta-Fix-race-condition-during-stopping.patch index 9936ebf320..878229cbf7 100644 --- a/target/linux/mvebu/patches-4.4/042-net-mvneta-Fix-race-condition-during-stopping.patch +++ b/target/linux/mvebu/patches-4.4/042-net-mvneta-Fix-race-condition-during-stopping.patch @@ -26,7 +26,7 @@ Signed-off-by: David S. Miller /* Core clock */ struct clk *clk; -@@ -2853,16 +2854,14 @@ static void mvneta_percpu_disable(void * +@@ -2857,16 +2858,14 @@ static void mvneta_percpu_disable(void * disable_percpu_irq(pp->dev->irq); } @@ -47,7 +47,7 @@ Signed-off-by: David S. Miller /* Use the cpu associated to the rxq when it is online, in all * the other cases, use the cpu 0 which can't be offline. */ -@@ -2906,7 +2905,6 @@ static void mvneta_percpu_elect(struct m +@@ -2910,7 +2909,6 @@ static void mvneta_percpu_elect(struct m i++; } @@ -55,7 +55,7 @@ Signed-off-by: David S. Miller }; static int mvneta_percpu_notifier(struct notifier_block *nfb, -@@ -2920,6 +2918,14 @@ static int mvneta_percpu_notifier(struct +@@ -2924,6 +2922,14 @@ static int mvneta_percpu_notifier(struct switch (action) { case CPU_ONLINE: case CPU_ONLINE_FROZEN: @@ -70,7 +70,7 @@ Signed-off-by: David S. Miller netif_tx_stop_all_queues(pp->dev); /* We have to synchronise on tha napi of each CPU -@@ -2957,6 +2963,7 @@ static int mvneta_percpu_notifier(struct +@@ -2961,6 +2967,7 @@ static int mvneta_percpu_notifier(struct MVNETA_CAUSE_LINK_CHANGE | MVNETA_CAUSE_PSC_SYNC_CHANGE); netif_tx_start_all_queues(pp->dev); @@ -78,7 +78,7 @@ Signed-off-by: David S. Miller break; case CPU_DOWN_PREPARE: case CPU_DOWN_PREPARE_FROZEN: -@@ -2981,7 +2988,9 @@ static int mvneta_percpu_notifier(struct +@@ -2985,7 +2992,9 @@ static int mvneta_percpu_notifier(struct case CPU_DEAD: case CPU_DEAD_FROZEN: /* Check if a new CPU must be elected now this on is down */ @@ -88,7 +88,7 @@ Signed-off-by: David S. Miller /* Unmask all ethernet port interrupts */ on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true); mvreg_write(pp, MVNETA_INTR_MISC_MASK, -@@ -3033,7 +3042,7 @@ static int mvneta_open(struct net_device +@@ -3037,7 +3046,7 @@ static int mvneta_open(struct net_device */ on_each_cpu(mvneta_percpu_enable, pp, true); @@ -97,7 +97,7 @@ Signed-off-by: David S. Miller /* Register a CPU notifier to handle the case where our CPU * might be taken offline. */ -@@ -3066,9 +3075,18 @@ static int mvneta_stop(struct net_device +@@ -3070,9 +3079,18 @@ static int mvneta_stop(struct net_device { struct mvneta_port *pp = netdev_priv(dev); @@ -116,7 +116,7 @@ Signed-off-by: David S. Miller on_each_cpu(mvneta_percpu_disable, pp, true); free_percpu_irq(dev->irq, pp->ports); mvneta_cleanup_rxqs(pp); -@@ -3339,7 +3357,9 @@ static int mvneta_config_rss(struct mvn +@@ -3343,7 +3361,9 @@ static int mvneta_config_rss(struct mvn mvreg_write(pp, MVNETA_PORT_CONFIG, val); /* Update the elected CPU matching the new rxq_def */ diff --git a/target/linux/mvebu/patches-4.4/045-net-mvneta-bm-add-support-for-hardware-buffer-manage.patch b/target/linux/mvebu/patches-4.4/045-net-mvneta-bm-add-support-for-hardware-buffer-manage.patch index d343b3983f..a1b5ca8c6a 100644 --- a/target/linux/mvebu/patches-4.4/045-net-mvneta-bm-add-support-for-hardware-buffer-manage.patch +++ b/target/linux/mvebu/patches-4.4/045-net-mvneta-bm-add-support-for-hardware-buffer-manage.patch @@ -495,7 +495,7 @@ Signed-off-by: David S. Miller /* Start the Ethernet port RX and TX activity */ static void mvneta_port_up(struct mvneta_port *pp) { -@@ -1147,9 +1379,17 @@ static void mvneta_defaults_set(struct m +@@ -1151,9 +1383,17 @@ static void mvneta_defaults_set(struct m mvreg_write(pp, MVNETA_PORT_RX_RESET, 0); /* Set Port Acceleration Mode */ @@ -514,7 +514,7 @@ Signed-off-by: David S. Miller /* Update val of portCfg register accordingly with all RxQueue types */ val = MVNETA_PORT_CONFIG_DEFL_VALUE(pp->rxq_def); mvreg_write(pp, MVNETA_PORT_CONFIG, val); -@@ -1516,23 +1756,25 @@ static void mvneta_txq_done(struct mvnet +@@ -1520,23 +1760,25 @@ static void mvneta_txq_done(struct mvnet } } @@ -547,7 +547,7 @@ Signed-off-by: David S. Miller static int mvneta_rx_refill(struct mvneta_port *pp, struct mvneta_rx_desc *rx_desc) -@@ -1540,7 +1782,7 @@ static int mvneta_rx_refill(struct mvnet +@@ -1544,7 +1786,7 @@ static int mvneta_rx_refill(struct mvnet dma_addr_t phys_addr; void *data; @@ -556,7 +556,7 @@ Signed-off-by: David S. Miller if (!data) return -ENOMEM; -@@ -1548,7 +1790,7 @@ static int mvneta_rx_refill(struct mvnet +@@ -1552,7 +1794,7 @@ static int mvneta_rx_refill(struct mvnet MVNETA_RX_BUF_SIZE(pp->pkt_size), DMA_FROM_DEVICE); if (unlikely(dma_mapping_error(pp->dev->dev.parent, phys_addr))) { @@ -565,7 +565,7 @@ Signed-off-by: David S. Miller return -ENOMEM; } -@@ -1594,22 +1836,156 @@ static void mvneta_rxq_drop_pkts(struct +@@ -1598,22 +1840,156 @@ static void mvneta_rxq_drop_pkts(struct int rx_done, i; rx_done = mvneta_rxq_busy_desc_num_get(pp, rxq); @@ -728,7 +728,7 @@ Signed-off-by: David S. Miller { struct mvneta_pcpu_port *port = this_cpu_ptr(pp->ports); struct net_device *dev = pp->dev; -@@ -1628,21 +2004,29 @@ static int mvneta_rx(struct mvneta_port +@@ -1632,21 +2008,29 @@ static int mvneta_rx(struct mvneta_port /* Fairness NAPI loop */ while (rx_done < rx_todo) { struct mvneta_rx_desc *rx_desc = mvneta_rxq_next_desc_get(rxq); @@ -760,7 +760,7 @@ Signed-off-by: David S. Miller dev->stats.rx_errors++; mvneta_rx_error(pp, rx_desc); /* leave the descriptor untouched */ -@@ -1653,7 +2037,7 @@ static int mvneta_rx(struct mvneta_port +@@ -1657,7 +2041,7 @@ static int mvneta_rx(struct mvneta_port /* better copy a small frame and not unmap the DMA region */ skb = netdev_alloc_skb_ip_align(dev, rx_bytes); if (unlikely(!skb)) @@ -769,7 +769,7 @@ Signed-off-by: David S. Miller dma_sync_single_range_for_cpu(dev->dev.parent, rx_desc->buf_phys_addr, -@@ -1671,26 +2055,31 @@ static int mvneta_rx(struct mvneta_port +@@ -1675,26 +2059,31 @@ static int mvneta_rx(struct mvneta_port rcvd_pkts++; rcvd_bytes += rx_bytes; @@ -807,7 +807,7 @@ Signed-off-by: David S. Miller if (!skb) goto err_drop_frame; -@@ -2295,7 +2684,10 @@ static int mvneta_poll(struct napi_struc +@@ -2299,7 +2688,10 @@ static int mvneta_poll(struct napi_struc if (rx_queue) { rx_queue = rx_queue - 1; @@ -819,7 +819,7 @@ Signed-off-by: David S. Miller } budget -= rx_done; -@@ -2384,9 +2776,17 @@ static int mvneta_rxq_init(struct mvneta +@@ -2388,9 +2780,17 @@ static int mvneta_rxq_init(struct mvneta mvneta_rx_pkts_coal_set(pp, rxq, rxq->pkts_coal); mvneta_rx_time_coal_set(pp, rxq, rxq->time_coal); @@ -840,7 +840,7 @@ Signed-off-by: David S. Miller mvneta_rxq_fill(pp, rxq, rxq->size); return 0; -@@ -2659,6 +3059,9 @@ static int mvneta_change_mtu(struct net_ +@@ -2663,6 +3063,9 @@ static int mvneta_change_mtu(struct net_ dev->mtu = mtu; if (!netif_running(dev)) { @@ -850,7 +850,7 @@ Signed-off-by: David S. Miller netdev_update_features(dev); return 0; } -@@ -2671,6 +3074,9 @@ static int mvneta_change_mtu(struct net_ +@@ -2675,6 +3078,9 @@ static int mvneta_change_mtu(struct net_ mvneta_cleanup_txqs(pp); mvneta_cleanup_rxqs(pp); @@ -860,7 +860,7 @@ Signed-off-by: David S. Miller pp->pkt_size = MVNETA_RX_PKT_SIZE(dev->mtu); pp->frag_size = SKB_DATA_ALIGN(MVNETA_RX_BUF_SIZE(pp->pkt_size)) + SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); -@@ -3563,6 +3969,7 @@ static int mvneta_probe(struct platform_ +@@ -3567,6 +3973,7 @@ static int mvneta_probe(struct platform_ struct resource *res; struct device_node *dn = pdev->dev.of_node; struct device_node *phy_node; @@ -868,7 +868,7 @@ Signed-off-by: David S. Miller struct mvneta_port *pp; struct net_device *dev; const char *dt_mac_addr; -@@ -3690,26 +4097,39 @@ static int mvneta_probe(struct platform_ +@@ -3694,26 +4101,39 @@ static int mvneta_probe(struct platform_ pp->tx_csum_limit = tx_csum_limit; @@ -914,7 +914,7 @@ Signed-off-by: David S. Miller for_each_present_cpu(cpu) { struct mvneta_pcpu_port *port = per_cpu_ptr(pp->ports, cpu); -@@ -3744,6 +4164,13 @@ static int mvneta_probe(struct platform_ +@@ -3748,6 +4168,13 @@ static int mvneta_probe(struct platform_ return 0; @@ -928,7 +928,7 @@ Signed-off-by: David S. Miller err_free_stats: free_percpu(pp->stats); err_free_ports: -@@ -3773,6 +4200,12 @@ static int mvneta_remove(struct platform +@@ -3777,6 +4204,12 @@ static int mvneta_remove(struct platform of_node_put(pp->phy_node); free_netdev(dev); diff --git a/target/linux/mvebu/patches-4.4/046-net-mvneta-Use-the-new-hwbm-framework.patch b/target/linux/mvebu/patches-4.4/046-net-mvneta-Use-the-new-hwbm-framework.patch index 210504c39e..fb9859c5d2 100644 --- a/target/linux/mvebu/patches-4.4/046-net-mvneta-Use-the-new-hwbm-framework.patch +++ b/target/linux/mvebu/patches-4.4/046-net-mvneta-Use-the-new-hwbm-framework.patch @@ -64,7 +64,7 @@ Signed-off-by: David S. Miller goto bm_mtu_err; } mvneta_bm_pool_bufsize_set(pp, bm_pool->buf_size, bm_pool->id); -@@ -2064,14 +2066,14 @@ err_drop_frame: +@@ -2068,14 +2070,14 @@ err_drop_frame: } /* Refill processing */ diff --git a/target/linux/mvebu/patches-4.4/047-net-mvneta-Fix-spinlock-usage.patch b/target/linux/mvebu/patches-4.4/047-net-mvneta-Fix-spinlock-usage.patch index a8e78df2e9..7058686c20 100644 --- a/target/linux/mvebu/patches-4.4/047-net-mvneta-Fix-spinlock-usage.patch +++ b/target/linux/mvebu/patches-4.4/047-net-mvneta-Fix-spinlock-usage.patch @@ -19,7 +19,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3484,17 +3484,17 @@ static int mvneta_stop(struct net_device +@@ -3488,17 +3488,17 @@ static int mvneta_stop(struct net_device struct mvneta_port *pp = netdev_priv(dev); /* Inform that we are stopping so we don't want to setup the @@ -42,7 +42,7 @@ Signed-off-by: David S. Miller on_each_cpu(mvneta_percpu_disable, pp, true); free_percpu_irq(dev->irq, pp->ports); mvneta_cleanup_rxqs(pp); -@@ -4027,6 +4027,7 @@ static int mvneta_probe(struct platform_ +@@ -4031,6 +4031,7 @@ static int mvneta_probe(struct platform_ dev->ethtool_ops = &mvneta_eth_tool_ops; pp = netdev_priv(dev); diff --git a/target/linux/mvebu/patches-4.4/049-net-mvneta-replace-MVNETA_CPU_D_CACHE_LINE_SIZE-with.patch b/target/linux/mvebu/patches-4.4/049-net-mvneta-replace-MVNETA_CPU_D_CACHE_LINE_SIZE-with.patch index c12d98a4e2..4b319e26a7 100644 --- a/target/linux/mvebu/patches-4.4/049-net-mvneta-replace-MVNETA_CPU_D_CACHE_LINE_SIZE-with.patch +++ b/target/linux/mvebu/patches-4.4/049-net-mvneta-replace-MVNETA_CPU_D_CACHE_LINE_SIZE-with.patch @@ -33,7 +33,7 @@ Signed-off-by: David S. Miller #define IS_TSO_HEADER(txq, addr) \ ((addr >= txq->tso_hdrs_phys) && \ -@@ -2762,9 +2761,6 @@ static int mvneta_rxq_init(struct mvneta +@@ -2766,9 +2765,6 @@ static int mvneta_rxq_init(struct mvneta if (rxq->descs == NULL) return -ENOMEM; @@ -43,7 +43,7 @@ Signed-off-by: David S. Miller rxq->last_desc = rxq->size - 1; /* Set Rx descriptors queue starting address */ -@@ -2835,10 +2831,6 @@ static int mvneta_txq_init(struct mvneta +@@ -2839,10 +2835,6 @@ static int mvneta_txq_init(struct mvneta if (txq->descs == NULL) return -ENOMEM; diff --git a/target/linux/mvebu/patches-4.4/050-net-mvneta-fix-changing-MTU-when-using-per-cpu-proce.patch b/target/linux/mvebu/patches-4.4/050-net-mvneta-fix-changing-MTU-when-using-per-cpu-proce.patch index 07862008a7..fdc5663510 100644 --- a/target/linux/mvebu/patches-4.4/050-net-mvneta-fix-changing-MTU-when-using-per-cpu-proce.patch +++ b/target/linux/mvebu/patches-4.4/050-net-mvneta-fix-changing-MTU-when-using-per-cpu-proce.patch @@ -15,7 +15,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3040,6 +3040,20 @@ static int mvneta_check_mtu_valid(struct +@@ -3044,6 +3044,20 @@ static int mvneta_check_mtu_valid(struct return mtu; } @@ -36,7 +36,7 @@ Signed-off-by: David S. Miller /* Change the device mtu */ static int mvneta_change_mtu(struct net_device *dev, int mtu) { -@@ -3064,6 +3078,7 @@ static int mvneta_change_mtu(struct net_ +@@ -3068,6 +3082,7 @@ static int mvneta_change_mtu(struct net_ * reallocation of the queues */ mvneta_stop_dev(pp); @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller mvneta_cleanup_txqs(pp); mvneta_cleanup_rxqs(pp); -@@ -3087,6 +3102,7 @@ static int mvneta_change_mtu(struct net_ +@@ -3091,6 +3106,7 @@ static int mvneta_change_mtu(struct net_ return ret; } @@ -52,7 +52,7 @@ Signed-off-by: David S. Miller mvneta_start_dev(pp); mvneta_port_up(pp); -@@ -3240,20 +3256,6 @@ static void mvneta_mdio_remove(struct mv +@@ -3244,20 +3260,6 @@ static void mvneta_mdio_remove(struct mv pp->phy_dev = NULL; } diff --git a/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch b/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch index fac283f3ee..79f245411e 100644 --- a/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch +++ b/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch @@ -79,7 +79,7 @@ Signed-off-by: Russell King struct mvneta_bm *bm_priv; struct mvneta_bm_pool *pool_long; -@@ -1236,44 +1238,6 @@ static void mvneta_set_other_mcast_table +@@ -1240,44 +1242,6 @@ static void mvneta_set_other_mcast_table mvreg_write(pp, MVNETA_DA_FILT_OTH_MCAST + offset, val); } @@ -124,7 +124,7 @@ Signed-off-by: Russell King static void mvneta_percpu_unmask_interrupt(void *arg) { struct mvneta_port *pp = arg; -@@ -1421,7 +1385,6 @@ static void mvneta_defaults_set(struct m +@@ -1425,7 +1389,6 @@ static void mvneta_defaults_set(struct m val &= ~MVNETA_PHY_POLLING_ENABLE; mvreg_write(pp, MVNETA_UNIT_CONTROL, val); @@ -132,7 +132,7 @@ Signed-off-by: Russell King mvneta_set_ucast_table(pp, -1); mvneta_set_special_mcast_table(pp, -1); mvneta_set_other_mcast_table(pp, -1); -@@ -2614,26 +2577,11 @@ static irqreturn_t mvneta_isr(int irq, v +@@ -2618,26 +2581,11 @@ static irqreturn_t mvneta_isr(int irq, v return IRQ_HANDLED; } @@ -161,7 +161,7 @@ Signed-off-by: Russell King } /* NAPI handler -@@ -2662,12 +2610,11 @@ static int mvneta_poll(struct napi_struc +@@ -2666,12 +2614,11 @@ static int mvneta_poll(struct napi_struc u32 cause_misc = mvreg_read(pp, MVNETA_INTR_MISC_CAUSE); mvreg_write(pp, MVNETA_INTR_MISC_CAUSE, 0); @@ -179,7 +179,7 @@ Signed-off-by: Russell King } /* Release Tx descriptors */ -@@ -2983,7 +2930,7 @@ static void mvneta_start_dev(struct mvne +@@ -2987,7 +2934,7 @@ static void mvneta_start_dev(struct mvne MVNETA_CAUSE_LINK_CHANGE | MVNETA_CAUSE_PSC_SYNC_CHANGE); @@ -188,7 +188,7 @@ Signed-off-by: Russell King netif_tx_start_all_queues(pp->dev); } -@@ -2991,7 +2938,7 @@ static void mvneta_stop_dev(struct mvnet +@@ -2995,7 +2942,7 @@ static void mvneta_stop_dev(struct mvnet { unsigned int cpu; @@ -197,7 +197,7 @@ Signed-off-by: Russell King for_each_online_cpu(cpu) { struct mvneta_pcpu_port *port = per_cpu_ptr(pp->ports, cpu); -@@ -3161,99 +3108,219 @@ static int mvneta_set_mac_addr(struct ne +@@ -3165,99 +3112,219 @@ static int mvneta_set_mac_addr(struct ne return 0; } @@ -490,7 +490,7 @@ Signed-off-by: Russell King } /* Electing a CPU must be done in an atomic way: it should be done -@@ -3501,10 +3568,7 @@ static int mvneta_ioctl(struct net_devic +@@ -3505,10 +3572,7 @@ static int mvneta_ioctl(struct net_devic { struct mvneta_port *pp = netdev_priv(dev); @@ -502,7 +502,7 @@ Signed-off-by: Russell King } /* Ethtool methods */ -@@ -3514,54 +3578,15 @@ int mvneta_ethtool_get_settings(struct n +@@ -3518,54 +3582,15 @@ int mvneta_ethtool_get_settings(struct n { struct mvneta_port *pp = netdev_priv(dev); @@ -559,7 +559,7 @@ Signed-off-by: Russell King } /* Set interrupt coalescing for ethtools */ -@@ -3669,7 +3694,8 @@ static void mvneta_ethtool_update_stats( +@@ -3673,7 +3698,8 @@ static void mvneta_ethtool_update_stats( { const struct mvneta_statistic *s; void __iomem *base = pp->base; @@ -569,7 +569,7 @@ Signed-off-by: Russell King u64 val64; int i; -@@ -3964,14 +3990,13 @@ static int mvneta_probe(struct platform_ +@@ -3968,14 +3994,13 @@ static int mvneta_probe(struct platform_ const struct mbus_dram_target_info *dram_target_info; struct resource *res; struct device_node *dn = pdev->dev.of_node; @@ -585,7 +585,7 @@ Signed-off-by: Russell King int tx_csum_limit; int phy_mode; int err; -@@ -3987,31 +4012,11 @@ static int mvneta_probe(struct platform_ +@@ -3991,31 +4016,11 @@ static int mvneta_probe(struct platform_ goto err_free_netdev; } @@ -618,7 +618,7 @@ Signed-off-by: Russell King } dev->tx_queue_len = MVNETA_MAX_TXD; -@@ -4022,12 +4027,7 @@ static int mvneta_probe(struct platform_ +@@ -4026,12 +4031,7 @@ static int mvneta_probe(struct platform_ pp = netdev_priv(dev); spin_lock_init(&pp->lock); @@ -632,7 +632,7 @@ Signed-off-by: Russell King pp->cpu_notifier.notifier_call = mvneta_percpu_notifier; pp->rxq_def = rxq_def; -@@ -4037,7 +4037,7 @@ static int mvneta_probe(struct platform_ +@@ -4041,7 +4041,7 @@ static int mvneta_probe(struct platform_ pp->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(pp->clk)) { err = PTR_ERR(pp->clk); @@ -641,7 +641,7 @@ Signed-off-by: Russell King } clk_prepare_enable(pp->clk); -@@ -4140,6 +4140,14 @@ static int mvneta_probe(struct platform_ +@@ -4144,6 +4144,14 @@ static int mvneta_probe(struct platform_ dev->priv_flags |= IFF_UNICAST_FLT | IFF_LIVE_ADDR_CHANGE; dev->gso_max_segs = MVNETA_MAX_TSO_SEGS; @@ -656,7 +656,7 @@ Signed-off-by: Russell King err = register_netdev(dev); if (err < 0) { dev_err(&pdev->dev, "failed to register\n"); -@@ -4151,13 +4159,6 @@ static int mvneta_probe(struct platform_ +@@ -4155,13 +4163,6 @@ static int mvneta_probe(struct platform_ platform_set_drvdata(pdev, pp->dev); @@ -670,7 +670,7 @@ Signed-off-by: Russell King return 0; -@@ -4169,13 +4170,13 @@ err_netdev: +@@ -4173,13 +4174,13 @@ err_netdev: 1 << pp->id); } err_free_stats: @@ -686,7 +686,7 @@ Signed-off-by: Russell King err_free_irq: irq_dispose_mapping(dev->irq); err_free_netdev: -@@ -4194,7 +4195,7 @@ static int mvneta_remove(struct platform +@@ -4198,7 +4199,7 @@ static int mvneta_remove(struct platform free_percpu(pp->ports); free_percpu(pp->stats); irq_dispose_mapping(dev->irq); diff --git a/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch b/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch index 034b596436..b2f0ed5da5 100644 --- a/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch +++ b/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch @@ -14,7 +14,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3589,6 +3589,13 @@ int mvneta_ethtool_set_settings(struct n +@@ -3593,6 +3593,13 @@ int mvneta_ethtool_set_settings(struct n return phylink_ethtool_set_settings(pp->phylink, cmd); } @@ -28,7 +28,7 @@ Signed-off-by: Russell King /* Set interrupt coalescing for ethtools */ static int mvneta_ethtool_set_coalesce(struct net_device *dev, struct ethtool_coalesce *c) -@@ -3853,6 +3860,7 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3857,6 +3864,7 @@ const struct ethtool_ops mvneta_eth_tool .get_link = ethtool_op_get_link, .get_settings = mvneta_ethtool_get_settings, .set_settings = mvneta_ethtool_set_settings, diff --git a/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch b/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch index 75cd46e3da..328dd0e18d 100644 --- a/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch +++ b/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch @@ -14,7 +14,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3208,6 +3208,8 @@ static void mvneta_mac_config(struct net +@@ -3212,6 +3212,8 @@ static void mvneta_mac_config(struct net if (state->advertising & ADVERTISED_Pause) new_an |= MVNETA_GMAC_ADVERT_SYM_FLOW_CTRL; @@ -23,7 +23,7 @@ Signed-off-by: Russell King switch (mode) { case MLO_AN_SGMII: -@@ -3232,7 +3234,7 @@ static void mvneta_mac_config(struct net +@@ -3236,7 +3238,7 @@ static void mvneta_mac_config(struct net /* The MAC only supports FD mode */ MVNETA_GMAC_CONFIG_FULL_DUPLEX; @@ -32,7 +32,7 @@ Signed-off-by: Russell King new_an |= MVNETA_GMAC_AN_FLOW_CTRL_EN; break; -@@ -3685,6 +3687,22 @@ static int mvneta_ethtool_set_ringparam( +@@ -3689,6 +3691,22 @@ static int mvneta_ethtool_set_ringparam( return 0; } @@ -55,7 +55,7 @@ Signed-off-by: Russell King static void mvneta_ethtool_get_strings(struct net_device *netdev, u32 sset, u8 *data) { -@@ -3866,6 +3884,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3870,6 +3888,8 @@ const struct ethtool_ops mvneta_eth_tool .get_drvinfo = mvneta_ethtool_get_drvinfo, .get_ringparam = mvneta_ethtool_get_ringparam, .set_ringparam = mvneta_ethtool_set_ringparam, diff --git a/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch b/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch index e10574c753..9314c304a0 100644 --- a/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch +++ b/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch @@ -15,7 +15,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3127,12 +3127,14 @@ static int mvneta_mac_support(struct net +@@ -3131,12 +3131,14 @@ static int mvneta_mac_support(struct net state->supported = PHY_10BT_FEATURES | PHY_100BT_FEATURES | SUPPORTED_1000baseT_Full | diff --git a/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch b/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch index 16ffab3d46..0758800593 100644 --- a/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch +++ b/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch @@ -15,7 +15,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3114,9 +3114,9 @@ static int mvneta_mac_support(struct net +@@ -3118,9 +3118,9 @@ static int mvneta_mac_support(struct net switch (mode) { case MLO_AN_8023Z: state->supported = SUPPORTED_1000baseT_Full | @@ -27,7 +27,7 @@ Signed-off-by: Russell King state->an_enabled = 1; break; -@@ -3127,18 +3127,21 @@ static int mvneta_mac_support(struct net +@@ -3131,18 +3131,21 @@ static int mvneta_mac_support(struct net state->supported = PHY_10BT_FEATURES | PHY_100BT_FEATURES | SUPPORTED_1000baseT_Full | diff --git a/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch b/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch index b9043561d0..47763ba92e 100644 --- a/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch +++ b/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch @@ -68,7 +68,7 @@ Signed-off-by: Russell King u64 ethtool_stats[ARRAY_SIZE(mvneta_statistics)]; u32 indir[MVNETA_RSS_LU_TABLE_SIZE]; -@@ -3276,6 +3293,18 @@ static void mvneta_mac_config(struct net +@@ -3280,6 +3297,18 @@ static void mvneta_mac_config(struct net mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, new_an); } @@ -87,7 +87,7 @@ Signed-off-by: Russell King static void mvneta_mac_link_down(struct net_device *ndev, unsigned int mode) { struct mvneta_port *pp = netdev_priv(ndev); -@@ -3289,6 +3318,9 @@ static void mvneta_mac_link_down(struct +@@ -3293,6 +3322,9 @@ static void mvneta_mac_link_down(struct val |= MVNETA_GMAC_FORCE_LINK_DOWN; mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); } @@ -97,7 +97,7 @@ Signed-off-by: Russell King } static void mvneta_mac_link_up(struct net_device *ndev, unsigned int mode, -@@ -3305,6 +3337,11 @@ static void mvneta_mac_link_up(struct ne +@@ -3309,6 +3341,11 @@ static void mvneta_mac_link_up(struct ne } mvneta_port_up(pp); @@ -109,7 +109,7 @@ Signed-off-by: Russell King } static const struct phylink_mac_ops mvneta_phylink_ops = { -@@ -3744,6 +3781,13 @@ static void mvneta_ethtool_update_stats( +@@ -3748,6 +3785,13 @@ static void mvneta_ethtool_update_stats( val64 = (u64)high << 32 | low; pp->ethtool_stats[i] += val64; break; @@ -123,7 +123,7 @@ Signed-off-by: Russell King } } } -@@ -3867,6 +3911,47 @@ static int mvneta_ethtool_get_rxfh(struc +@@ -3871,6 +3915,47 @@ static int mvneta_ethtool_get_rxfh(struc return 0; } @@ -171,7 +171,7 @@ Signed-off-by: Russell King static const struct net_device_ops mvneta_netdev_ops = { .ndo_open = mvneta_open, .ndo_stop = mvneta_stop, -@@ -3898,6 +3983,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3902,6 +3987,8 @@ const struct ethtool_ops mvneta_eth_tool .get_rxnfc = mvneta_ethtool_get_rxnfc, .get_rxfh = mvneta_ethtool_get_rxfh, .set_rxfh = mvneta_ethtool_set_rxfh, diff --git a/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch b/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch index b3f9039081..428e460e26 100644 --- a/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch +++ b/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch @@ -10,7 +10,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3911,6 +3911,22 @@ static int mvneta_ethtool_get_rxfh(struc +@@ -3915,6 +3915,22 @@ static int mvneta_ethtool_get_rxfh(struc return 0; } @@ -33,7 +33,7 @@ Signed-off-by: Russell King static int mvneta_ethtool_get_eee(struct net_device *dev, struct ethtool_eee *eee) { -@@ -3983,6 +3999,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3987,6 +4003,8 @@ const struct ethtool_ops mvneta_eth_tool .get_rxnfc = mvneta_ethtool_get_rxnfc, .get_rxfh = mvneta_ethtool_get_rxfh, .set_rxfh = mvneta_ethtool_set_rxfh, diff --git a/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch b/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch index 7bd2593537..5405eefc9f 100644 --- a/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch +++ b/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -1695,8 +1695,10 @@ static struct mvneta_tx_queue *mvneta_tx +@@ -1699,8 +1699,10 @@ static struct mvneta_tx_queue *mvneta_tx /* Free tx queue skbuffs */ static void mvneta_txq_bufs_free(struct mvneta_port *pp, @@ -12,7 +12,7 @@ int i; for (i = 0; i < num; i++) { -@@ -1704,6 +1706,11 @@ static void mvneta_txq_bufs_free(struct +@@ -1708,6 +1710,11 @@ static void mvneta_txq_bufs_free(struct txq->txq_get_index; struct sk_buff *skb = txq->tx_skb[txq->txq_get_index]; @@ -24,7 +24,7 @@ mvneta_txq_inc_get(txq); if (!IS_TSO_HEADER(txq, tx_desc->buf_phys_addr)) -@@ -1714,6 +1721,8 @@ static void mvneta_txq_bufs_free(struct +@@ -1718,6 +1725,8 @@ static void mvneta_txq_bufs_free(struct continue; dev_kfree_skb_any(skb); } @@ -33,7 +33,7 @@ } /* Handle end of transmission */ -@@ -1727,7 +1736,7 @@ static void mvneta_txq_done(struct mvnet +@@ -1731,7 +1740,7 @@ static void mvneta_txq_done(struct mvnet if (!tx_done) return; @@ -42,7 +42,7 @@ txq->count -= tx_done; -@@ -2334,6 +2343,8 @@ out: +@@ -2338,6 +2347,8 @@ out: struct mvneta_pcpu_stats *stats = this_cpu_ptr(pp->stats); struct netdev_queue *nq = netdev_get_tx_queue(dev, txq_id); @@ -51,7 +51,7 @@ txq->count += frags; mvneta_txq_pend_desc_add(pp, txq, frags); -@@ -2358,9 +2369,10 @@ static void mvneta_txq_done_force(struct +@@ -2362,9 +2373,10 @@ static void mvneta_txq_done_force(struct struct mvneta_tx_queue *txq) { @@ -63,7 +63,7 @@ /* reset txq */ txq->count = 0; -@@ -2841,6 +2853,8 @@ static int mvneta_txq_init(struct mvneta +@@ -2845,6 +2857,8 @@ static int mvneta_txq_init(struct mvneta static void mvneta_txq_deinit(struct mvneta_port *pp, struct mvneta_tx_queue *txq) { @@ -72,7 +72,7 @@ kfree(txq->tx_skb); if (txq->tso_hdrs) -@@ -2852,6 +2866,8 @@ static void mvneta_txq_deinit(struct mvn +@@ -2856,6 +2870,8 @@ static void mvneta_txq_deinit(struct mvn txq->size * MVNETA_DESC_ALIGNED_SIZE, txq->descs, txq->descs_phys); diff --git a/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch b/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch index 5dba311d93..a0627309c2 100644 --- a/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch +++ b/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3984,6 +3984,16 @@ static int mvneta_ethtool_set_eee(struct +@@ -3988,6 +3988,16 @@ static int mvneta_ethtool_set_eee(struct return phylink_ethtool_set_eee(pp->phylink, eee); } @@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau static const struct net_device_ops mvneta_netdev_ops = { .ndo_open = mvneta_open, .ndo_stop = mvneta_stop, -@@ -3994,6 +4004,7 @@ static const struct net_device_ops mvnet +@@ -3998,6 +4008,7 @@ static const struct net_device_ops mvnet .ndo_fix_features = mvneta_fix_features, .ndo_get_stats64 = mvneta_get_stats64, .ndo_do_ioctl = mvneta_ioctl, diff --git a/target/linux/oxnas/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch b/target/linux/oxnas/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch index 2a607c6c62..6bffa6fe6a 100644 --- a/target/linux/oxnas/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch +++ b/target/linux/oxnas/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch @@ -153,7 +153,7 @@ Signed-off-by: Adrian Panella } --- a/init/main.c +++ b/init/main.c -@@ -88,6 +88,10 @@ +@@ -89,6 +89,10 @@ #include #include @@ -164,7 +164,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -560,6 +564,18 @@ asmlinkage __visible void __init start_k +@@ -562,6 +566,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/x86/64/config-default b/target/linux/x86/64/config-default index b7028e49d5..7d38df3030 100644 --- a/target/linux/x86/64/config-default +++ b/target/linux/x86/64/config-default @@ -226,6 +226,7 @@ CONFIG_NR_CPUS=8 # CONFIG_NUMA is not set CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_PADATA=y +CONFIG_PAGE_TABLE_ISOLATION=y CONFIG_PARAVIRT=y CONFIG_PARAVIRT_CLOCK=y # CONFIG_PARAVIRT_DEBUG is not set