From 65044a50ab687274bcec79eb85ac7854f134129f Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 17 Dec 2018 14:30:40 +0100 Subject: kernel: bump 4.4 to 4.4.167 Refreshed all patches. Removed upstreamed: - 203-MIPS-ath79-fix-restart.patch - 330-Revert-MIPS-BCM47XX-Enable-74K-Core-ExternalSync-for.patch - 051-0001-ovl-rename-is_merge-to-is_lowest.patch - 051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch - 051-0005-ovl-proper-cleanup-of-workdir.patch Altered patches: - 201-extra_optimization.patch - 304-mips_disable_fpu.patch Compile-tested on: ar71xx, cns3xxx, imx6, mpc85xx Runtime-tested on: ar71xx, cns3xxx, imx6, mpc85xx Signed-off-by: Koen Vandeputte --- .../030-mvneta-consolidate-autoneg-enabling.patch | 2 +- ...implement-ethtool-autonegotiation-control.patch | 2 +- ...Make-the-default-queue-related-for-each-p.patch | 6 ++-- ...-mvneta-Associate-RX-queues-with-each-CPU.patch | 8 ++--- .../034-net-mvneta-Add-naive-RSS-support.patch | 6 ++-- .../035-net-mvneta-Configure-XPS-support.patch | 2 +- ...fix-trivial-cut-off-issue-in-mvneta_ethto.patch | 2 +- ...Fix-the-CPU-choice-in-mvneta_percpu_elect.patch | 6 ++-- ...-net-mvneta-Use-on_each_cpu-when-possible.patch | 6 ++-- ...Modify-the-queue-related-fields-from-each.patch | 8 ++--- ...The-mvneta_percpu_elect-function-should-b.patch | 6 ++-- ...mvneta-Fix-race-condition-during-stopping.patch | 16 ++++----- ...bm-add-support-for-hardware-buffer-manage.patch | 8 ++--- .../047-net-mvneta-Fix-spinlock-usage.patch | 4 +-- ...fix-changing-MTU-when-using-per-cpu-proce.patch | 4 +-- .../134-net-mvneta-convert-to-phylink.patch | 42 +++++++++++----------- .../137-net-mvneta-add-nway_reset-support.patch | 4 +-- ...neta-add-flow-control-support-via-phylink.patch | 8 ++--- ...a-enable-flow-control-for-PHY-connections.patch | 2 +- ...enable-flow-control-for-fixed-connections.patch | 4 +-- .../143-net-mvneta-add-EEE-support.patch | 12 +++---- ...-mvneta-add-module-EEPROM-reading-support.patch | 4 +-- .../400-mvneta-tx-queue-workaround.patch | 4 +-- 23 files changed, 83 insertions(+), 83 deletions(-) (limited to 'target/linux/mvebu/patches-4.4') 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 1811e6920f..8c8500431d 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 @@ -43,7 +43,7 @@ Signed-off-by: David S. Miller } mvneta_set_ucast_table(pp, -1); -@@ -3233,9 +3246,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 2037a139c4..f707f3dbe3 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 @@ -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); -@@ -2959,10 +2965,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 f02f05b77c..b603943662 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 @@ -102,7 +102,7 @@ Signed-off-by: David S. Miller mvneta_cleanup_rxqs(pp); return err; } -@@ -2639,7 +2640,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; -@@ -2758,7 +2759,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) -@@ -3366,6 +3367,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 a3966948b6..bc86720f8d 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 @@ -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 | -@@ -2757,22 +2809,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 } }; -@@ -2807,12 +2872,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) | -@@ -2863,7 +2938,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)) + -@@ -2893,8 +2968,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 ced1eba8ef..17b23ce1ec 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 @@ -62,7 +62,7 @@ Signed-off-by: David S. Miller static void mvneta_start_dev(struct mvneta_port *pp) { unsigned int cpu; -@@ -3234,6 +3253,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, -@@ -3258,6 +3377,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 */ -@@ -3449,6 +3572,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 0fa6e64925..b609f237fc 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 @@ -93,7 +93,7 @@ Signed-off-by: David S. Miller return 0; } -@@ -2841,13 +2865,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 2a00ea66fd..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 -@@ -3245,26 +3245,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 b72b823671..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 -@@ -2852,9 +2852,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) { -@@ -2865,7 +2870,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 */ -@@ -2876,7 +2881,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 42ef706002..c1ea1c2918 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 @@ -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 | -@@ -2996,7 +2995,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)) + -@@ -3029,9 +3028,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 -@@ -3318,9 +3315,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 c589413107..f193b84cc0 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 @@ -126,7 +126,7 @@ Signed-off-by: David S. Miller mvneta_tx_reset(pp); mvneta_rx_reset(pp); -@@ -2924,9 +2929,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); -@@ -2941,14 +2944,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 | -@@ -2959,9 +2956,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); -@@ -2977,10 +2972,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 f2a30b33aa..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; -@@ -2858,6 +2862,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. */ -@@ -2901,6 +2911,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, -@@ -2955,8 +2966,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 efdd08427c..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; -@@ -2858,16 +2859,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. */ -@@ -2911,7 +2910,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, -@@ -2925,6 +2923,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 -@@ -2962,6 +2968,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: -@@ -2986,7 +2993,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, -@@ -3038,7 +3047,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. */ -@@ -3071,9 +3080,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); -@@ -3344,7 +3362,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 b3c86cad7d..89e9526ee1 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 @@ -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)); -@@ -3568,6 +3974,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; -@@ -3695,26 +4102,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); -@@ -3749,6 +4169,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: -@@ -3778,6 +4205,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/047-net-mvneta-Fix-spinlock-usage.patch b/target/linux/mvebu/patches-4.4/047-net-mvneta-Fix-spinlock-usage.patch index 54399a1b17..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 -@@ -3489,17 +3489,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); -@@ -4032,6 +4032,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/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 bcb0b4b8c7..11b1d87f4c 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 @@ -50,9 +50,9 @@ Signed-off-by: David S. Miller + on_each_cpu(mvneta_percpu_enable, pp, true); mvneta_start_dev(pp); - mvneta_port_up(pp); -@@ -3245,20 +3261,6 @@ static void mvneta_mdio_remove(struct mv + netdev_update_features(dev); +@@ -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 380b6bf670..33c687ed11 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 @@ -208,7 +208,7 @@ Signed-off-by: Russell King for_each_online_cpu(cpu) { struct mvneta_pcpu_port *port = per_cpu_ptr(pp->ports, cpu); -@@ -3166,99 +3109,219 @@ static int mvneta_set_mac_addr(struct ne +@@ -3165,99 +3108,219 @@ static int mvneta_set_mac_addr(struct ne return 0; } @@ -449,6 +449,13 @@ Signed-off-by: Russell King - struct phy_device *phy_dev; + struct mvneta_port *pp = netdev_priv(ndev); + u32 val; ++ ++ if (mode == MLO_AN_PHY || mode == MLO_AN_FIXED) { ++ val = mvreg_read(pp, MVNETA_GMAC_AUTONEG_CONFIG); ++ val &= ~MVNETA_GMAC_FORCE_LINK_DOWN; ++ val |= MVNETA_GMAC_FORCE_LINK_PASS; ++ mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); ++ } - phy_dev = of_phy_connect(pp->dev, pp->phy_node, mvneta_adjust_link, 0, - pp->phy_interface); @@ -464,17 +471,10 @@ Signed-off-by: Russell King - pp->link = 0; - pp->duplex = 0; - pp->speed = 0; -+ if (mode == MLO_AN_PHY || mode == MLO_AN_FIXED) { -+ val = mvreg_read(pp, MVNETA_GMAC_AUTONEG_CONFIG); -+ val &= ~MVNETA_GMAC_FORCE_LINK_DOWN; -+ val |= MVNETA_GMAC_FORCE_LINK_PASS; -+ mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); -+ } - -- return 0; + mvneta_port_up(pp); +} -+ + +- return 0; +static const struct phylink_mac_ops mvneta_phylink_ops = { + .mac_get_support = mvneta_mac_support, + .mac_link_state = mvneta_mac_link_state, @@ -501,7 +501,7 @@ Signed-off-by: Russell King } /* Electing a CPU must be done in an atomic way: it should be done -@@ -3506,10 +3569,7 @@ static int mvneta_ioctl(struct net_devic +@@ -3505,10 +3568,7 @@ static int mvneta_ioctl(struct net_devic { struct mvneta_port *pp = netdev_priv(dev); @@ -513,7 +513,7 @@ Signed-off-by: Russell King } /* Ethtool methods */ -@@ -3519,54 +3579,15 @@ int mvneta_ethtool_get_settings(struct n +@@ -3518,54 +3578,15 @@ int mvneta_ethtool_get_settings(struct n { struct mvneta_port *pp = netdev_priv(dev); @@ -570,7 +570,7 @@ Signed-off-by: Russell King } /* Set interrupt coalescing for ethtools */ -@@ -3674,7 +3695,8 @@ static void mvneta_ethtool_update_stats( +@@ -3673,7 +3694,8 @@ static void mvneta_ethtool_update_stats( { const struct mvneta_statistic *s; void __iomem *base = pp->base; @@ -580,7 +580,7 @@ Signed-off-by: Russell King u64 val64; int i; -@@ -3969,14 +3991,13 @@ static int mvneta_probe(struct platform_ +@@ -3968,14 +3990,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; @@ -596,7 +596,7 @@ Signed-off-by: Russell King int tx_csum_limit; int phy_mode; int err; -@@ -3992,31 +4013,11 @@ static int mvneta_probe(struct platform_ +@@ -3991,31 +4012,11 @@ static int mvneta_probe(struct platform_ goto err_free_netdev; } @@ -629,7 +629,7 @@ Signed-off-by: Russell King } dev->tx_queue_len = MVNETA_MAX_TXD; -@@ -4027,12 +4028,7 @@ static int mvneta_probe(struct platform_ +@@ -4026,12 +4027,7 @@ static int mvneta_probe(struct platform_ pp = netdev_priv(dev); spin_lock_init(&pp->lock); @@ -643,7 +643,7 @@ Signed-off-by: Russell King pp->cpu_notifier.notifier_call = mvneta_percpu_notifier; pp->rxq_def = rxq_def; -@@ -4042,7 +4038,7 @@ static int mvneta_probe(struct platform_ +@@ -4041,7 +4037,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); @@ -652,7 +652,7 @@ Signed-off-by: Russell King } clk_prepare_enable(pp->clk); -@@ -4145,6 +4141,14 @@ static int mvneta_probe(struct platform_ +@@ -4144,6 +4140,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; @@ -667,7 +667,7 @@ Signed-off-by: Russell King err = register_netdev(dev); if (err < 0) { dev_err(&pdev->dev, "failed to register\n"); -@@ -4156,13 +4160,6 @@ static int mvneta_probe(struct platform_ +@@ -4155,13 +4159,6 @@ static int mvneta_probe(struct platform_ platform_set_drvdata(pdev, pp->dev); @@ -681,7 +681,7 @@ Signed-off-by: Russell King return 0; -@@ -4174,13 +4171,13 @@ err_netdev: +@@ -4173,13 +4170,13 @@ err_netdev: 1 << pp->id); } err_free_stats: @@ -697,7 +697,7 @@ Signed-off-by: Russell King err_free_irq: irq_dispose_mapping(dev->irq); err_free_netdev: -@@ -4199,7 +4196,7 @@ static int mvneta_remove(struct platform +@@ -4198,7 +4195,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 700b9b5361..034b596436 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 -@@ -3590,6 +3590,13 @@ int mvneta_ethtool_set_settings(struct n +@@ -3589,6 +3589,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) -@@ -3854,6 +3861,7 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3853,6 +3860,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 62633cff46..75cd46e3da 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 -@@ -3209,6 +3209,8 @@ static void mvneta_mac_config(struct net +@@ -3208,6 +3208,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: -@@ -3233,7 +3235,7 @@ static void mvneta_mac_config(struct net +@@ -3232,7 +3234,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; -@@ -3686,6 +3688,22 @@ static int mvneta_ethtool_set_ringparam( +@@ -3685,6 +3687,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) { -@@ -3867,6 +3885,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3866,6 +3884,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 1c081757bd..e10574c753 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 -@@ -3128,12 +3128,14 @@ static int mvneta_mac_support(struct net +@@ -3127,12 +3127,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 d1683d98a2..16ffab3d46 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 -@@ -3115,9 +3115,9 @@ static int mvneta_mac_support(struct net +@@ -3114,9 +3114,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; -@@ -3128,18 +3128,21 @@ static int mvneta_mac_support(struct net +@@ -3127,18 +3127,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 71f8c166e9..b9043561d0 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]; -@@ -3277,6 +3294,18 @@ static void mvneta_mac_config(struct net +@@ -3276,6 +3293,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); -@@ -3290,6 +3319,9 @@ static void mvneta_mac_link_down(struct +@@ -3289,6 +3318,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, -@@ -3306,6 +3338,11 @@ static void mvneta_mac_link_up(struct ne +@@ -3305,6 +3337,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 = { -@@ -3745,6 +3782,13 @@ static void mvneta_ethtool_update_stats( +@@ -3744,6 +3781,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 } } } -@@ -3868,6 +3912,47 @@ static int mvneta_ethtool_get_rxfh(struc +@@ -3867,6 +3911,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, -@@ -3899,6 +3984,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3898,6 +3983,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 7100e4da56..b3f9039081 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 -@@ -3912,6 +3912,22 @@ static int mvneta_ethtool_get_rxfh(struc +@@ -3911,6 +3911,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) { -@@ -3984,6 +4000,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3983,6 +3999,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/400-mvneta-tx-queue-workaround.patch b/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch index d2ea24ba40..5dba311d93 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 -@@ -3985,6 +3985,16 @@ static int mvneta_ethtool_set_eee(struct +@@ -3984,6 +3984,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, -@@ -3995,6 +4005,7 @@ static const struct net_device_ops mvnet +@@ -3994,6 +4004,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, -- cgit v1.2.3