mvebu patch update to kernel 4.9.57

This commit is contained in:
coolsnowwolf 2017-10-21 02:14:11 +08:00
parent 6bc687ef58
commit 8a7c703937
14 changed files with 53 additions and 60 deletions

View File

@ -11,6 +11,9 @@ board_config_update
board=$(board_name)
case "$board" in
armada-385-db-ap)
ucidef_set_interfaces_lan_wan "eth0 eth1" "eth2"
;;
armada-385-linksys-caiman|\
armada-385-linksys-cobra|\
armada-385-linksys-rango|\
@ -20,12 +23,6 @@ armada-xp-linksys-mamba)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth0" "4:wan" "6@eth1"
;;
armada-385-db-ap)
ucidef_set_interfaces_lan_wan "eth0 eth1" "eth2"
;;
armada-xp-gp)
ucidef_set_interface_lan "eth0 eth1 eth2 eth3"
;;
armada-388-clearfog-*)
# eth0 is standalone ethernet
# eth1 is switch (-pro) or standalone ethernet (-base)
@ -38,6 +35,9 @@ armada-388-clearfog-*)
ucidef_add_switch "switch0" \
"0:lan:5" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5u@eth1" "6:lan:6"
;;
armada-xp-gp)
ucidef_set_interface_lan "eth0 eth1 eth2 eth3"
;;
*)
ucidef_set_interface_lan "eth0"
;;

View File

@ -16,10 +16,7 @@ platform_do_upgrade() {
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
platform_do_upgrade_linksys "$ARGV"
;;
armada-388-clearfog-pro)
platform_do_upgrade_clearfog "$ARGV"
;;
armada-388-clearfog-base)
armada-388-clearfog-base|armada-388-clearfog-pro)
platform_do_upgrade_clearfog "$ARGV"
;;
*)
@ -32,7 +29,7 @@ platform_copy_config() {
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
platform_copy_config_linksys
;;
armada-388-clearfog)
armada-388-clearfog-base|armada-388-clearfog-pro)
platform_copy_config_clearfog "$ARGV"
;;
esac

View File

@ -119,7 +119,7 @@ define Device/linksys-wrt3200acm
$(call Device/linksys,WRT3200ACM (Rango))
$(Device/armada-385-linksys)
DEVICE_DTS := armada-385-linksys-rango
DEVICE_PACKAGES += kmod-mwifiex-sdio
DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio
endef
TARGET_DEVICES += linksys-wrt3200acm
@ -192,13 +192,9 @@ define Device/armada-388-clearfog-base
KERNEL_INSTALL := 1
KERNEL := kernel-bin
DEVICE_TITLE := SolidRun ClearFog Base
DEVICE_PACKAGES := \
kmod-nls-cp437 kmod-nls-iso8859-1 \
mkf2fs e2fsprogs kmod-fs-vfat kmod-fuse kmod-fs-f2fs \
kmod-ata-core kmod-ata-ahci kmod-ata-marvell-sata kmod-scsi-core kmod-scsi-generic \
kmod-button-hotplug kmod-gpio-button-hotplug
DEVICE_PACKAGES := mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
IMAGES := sdcard.img.gz
IMAGE/sdcard.img.gz := boot-scr-cfbase | boot-img | sdcard-img | gzip
IMAGE/sdcard.img.gz := boot-scr-cfbase | boot-img | sdcard-img | gzip | append-metadata
IMAGE_NAME = $$(IMAGE_PREFIX)-$$(2)
DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
endef

View File

@ -63,7 +63,7 @@
/* reset txq */
txq->count = 0;
@@ -2882,6 +2894,8 @@ static int mvneta_txq_init(struct mvneta
@@ -2880,6 +2892,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)
@@ -2893,6 +2907,8 @@ static void mvneta_txq_deinit(struct mvn
@@ -2891,6 +2905,8 @@ static void mvneta_txq_deinit(struct mvn
txq->size * MVNETA_DESC_ALIGNED_SIZE,
txq->descs, txq->descs_phys);

View File

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3835,6 +3835,16 @@ static int mvneta_ethtool_get_rxfh(struc
@@ -3833,6 +3833,16 @@ static int mvneta_ethtool_get_rxfh(struc
return 0;
}
@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
@@ -3845,6 +3855,7 @@ static const struct net_device_ops mvnet
@@ -3843,6 +3853,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,

View File

@ -182,7 +182,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
/* Release Tx descriptors */
@@ -2982,7 +2929,6 @@ static int mvneta_setup_txqs(struct mvne
@@ -2980,7 +2927,6 @@ static int mvneta_setup_txqs(struct mvne
static void mvneta_start_dev(struct mvneta_port *pp)
{
int cpu;
@ -190,7 +190,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
mvneta_max_rx_size_set(pp, pp->pkt_size);
mvneta_txq_max_tx_size_set(pp, pp->pkt_size);
@@ -3005,16 +2951,15 @@ static void mvneta_start_dev(struct mvne
@@ -3003,16 +2949,15 @@ static void mvneta_start_dev(struct mvne
MVNETA_CAUSE_LINK_CHANGE |
MVNETA_CAUSE_PSC_SYNC_CHANGE);
@ -209,7 +209,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
for_each_online_cpu(cpu) {
struct mvneta_pcpu_port *port = per_cpu_ptr(pp->ports, cpu);
@@ -3184,99 +3129,210 @@ static int mvneta_set_mac_addr(struct ne
@@ -3182,99 +3127,210 @@ static int mvneta_set_mac_addr(struct ne
return 0;
}
@ -490,7 +490,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
/* Electing a CPU must be done in an atomic way: it should be done
@@ -3534,10 +3590,9 @@ static int mvneta_stop(struct net_device
@@ -3532,10 +3588,9 @@ static int mvneta_stop(struct net_device
static int mvneta_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
@ -503,7 +503,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
/* Ethtool methods */
@@ -3548,44 +3603,18 @@ mvneta_ethtool_set_link_ksettings(struct
@@ -3546,44 +3601,18 @@ mvneta_ethtool_set_link_ksettings(struct
const struct ethtool_link_ksettings *cmd)
{
struct mvneta_port *pp = netdev_priv(ndev);
@ -557,7 +557,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
/* Set interrupt coalescing for ethtools */
@@ -3693,26 +3722,28 @@ static void mvneta_ethtool_update_stats(
@@ -3691,26 +3720,28 @@ static void mvneta_ethtool_update_stats(
{
const struct mvneta_statistic *s;
void __iomem *base = pp->base;
@ -591,7 +591,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
}
@@ -3872,7 +3903,7 @@ const struct ethtool_ops mvneta_eth_tool
@@ -3870,7 +3901,7 @@ 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,
@ -600,7 +600,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
.set_link_ksettings = mvneta_ethtool_set_link_ksettings,
};
@@ -3999,14 +4030,13 @@ static int mvneta_probe(struct platform_
@@ -3997,14 +4028,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;
@ -616,7 +616,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
int tx_csum_limit;
int phy_mode;
int err;
@@ -4022,31 +4052,11 @@ static int mvneta_probe(struct platform_
@@ -4020,31 +4050,11 @@ static int mvneta_probe(struct platform_
goto err_free_netdev;
}
@ -649,7 +649,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
dev->tx_queue_len = MVNETA_MAX_TXD;
@@ -4057,12 +4067,7 @@ static int mvneta_probe(struct platform_
@@ -4055,12 +4065,7 @@ static int mvneta_probe(struct platform_
pp = netdev_priv(dev);
spin_lock_init(&pp->lock);
@ -663,7 +663,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
pp->rxq_def = rxq_def;
@@ -4073,7 +4078,7 @@ static int mvneta_probe(struct platform_
@@ -4071,7 +4076,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);
@ -672,7 +672,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
clk_prepare_enable(pp->clk);
@@ -4181,6 +4186,14 @@ static int mvneta_probe(struct platform_
@@ -4179,6 +4184,14 @@ static int mvneta_probe(struct platform_
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
dev->gso_max_segs = MVNETA_MAX_TSO_SEGS;
@ -687,7 +687,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
err = register_netdev(dev);
if (err < 0) {
dev_err(&pdev->dev, "failed to register\n");
@@ -4192,14 +4205,6 @@ static int mvneta_probe(struct platform_
@@ -4190,14 +4203,6 @@ static int mvneta_probe(struct platform_
platform_set_drvdata(pdev, pp->dev);
@ -702,7 +702,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
return 0;
err_netdev:
@@ -4210,16 +4215,14 @@ err_netdev:
@@ -4208,16 +4213,14 @@ err_netdev:
1 << pp->id);
}
err_free_stats:
@ -721,7 +721,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
err_free_irq:
irq_dispose_mapping(dev->irq);
err_free_netdev:
@@ -4231,7 +4234,6 @@ err_free_netdev:
@@ -4229,7 +4232,6 @@ err_free_netdev:
static int mvneta_remove(struct platform_device *pdev)
{
struct net_device *dev = platform_get_drvdata(pdev);
@ -729,7 +729,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
struct mvneta_port *pp = netdev_priv(dev);
unregister_netdev(dev);
@@ -4239,10 +4241,8 @@ static int mvneta_remove(struct platform
@@ -4237,10 +4239,8 @@ static int mvneta_remove(struct platform
clk_disable_unprepare(pp->clk);
free_percpu(pp->ports);
free_percpu(pp->stats);

View File

@ -26,7 +26,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
}
/* Release Tx descriptors */
@@ -2948,8 +2950,7 @@ static void mvneta_start_dev(struct mvne
@@ -2946,8 +2948,7 @@ static void mvneta_start_dev(struct mvne
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
MVNETA_CAUSE_PHY_STATUS_CHANGE |
@ -36,7 +36,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
phylink_start(pp->phylink);
netif_tx_start_all_queues(pp->dev);
@@ -3440,8 +3441,7 @@ static int mvneta_cpu_online(unsigned in
@@ -3438,8 +3439,7 @@ static int mvneta_cpu_online(unsigned in
on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
MVNETA_CAUSE_PHY_STATUS_CHANGE |
@ -46,7 +46,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
netif_tx_start_all_queues(pp->dev);
spin_unlock(&pp->lock);
return 0;
@@ -3482,8 +3482,7 @@ static int mvneta_cpu_dead(unsigned int
@@ -3480,8 +3480,7 @@ static int mvneta_cpu_dead(unsigned int
on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
MVNETA_CAUSE_PHY_STATUS_CHANGE |

View File

@ -11,7 +11,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3616,6 +3616,13 @@ mvneta_ethtool_get_link_ksettings(struct
@@ -3614,6 +3614,13 @@ mvneta_ethtool_get_link_ksettings(struct
return phylink_ethtool_ksettings_get(pp->phylink, cmd);
}
@ -25,7 +25,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/* Set interrupt coalescing for ethtools */
static int mvneta_ethtool_set_coalesce(struct net_device *dev,
struct ethtool_coalesce *c)
@@ -3889,6 +3896,7 @@ static const struct net_device_ops mvnet
@@ -3887,6 +3894,7 @@ static const struct net_device_ops mvnet
};
const struct ethtool_ops mvneta_eth_tool_ops = {

View File

@ -11,7 +11,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3180,6 +3180,12 @@ static int mvneta_mac_link_state(struct
@@ -3178,6 +3178,12 @@ static int mvneta_mac_link_state(struct
state->link = !!(gmac_stat & MVNETA_GMAC_LINK_UP);
state->duplex = !!(gmac_stat & MVNETA_GMAC_FULL_DUPLEX);
@ -24,7 +24,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
return 1;
}
@@ -3222,6 +3228,8 @@ static void mvneta_mac_config(struct net
@@ -3220,6 +3226,8 @@ static void mvneta_mac_config(struct net
if (phylink_test(state->advertising, Pause))
new_an |= MVNETA_GMAC_ADVERT_SYM_FLOW_CTRL;
@ -33,7 +33,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
switch (mode) {
case MLO_AN_SGMII:
@@ -3246,7 +3254,7 @@ static void mvneta_mac_config(struct net
@@ -3244,7 +3252,7 @@ static void mvneta_mac_config(struct net
/* The MAC only supports FD mode */
MVNETA_GMAC_CONFIG_FULL_DUPLEX;
@ -42,7 +42,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
new_an |= MVNETA_GMAC_AN_FLOW_CTRL_EN;
break;
@@ -3712,6 +3720,22 @@ static int mvneta_ethtool_set_ringparam(
@@ -3710,6 +3718,22 @@ static int mvneta_ethtool_set_ringparam(
return 0;
}
@ -65,7 +65,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
static void mvneta_ethtool_get_strings(struct net_device *netdev, u32 sset,
u8 *data)
{
@@ -3903,6 +3927,8 @@ const struct ethtool_ops mvneta_eth_tool
@@ -3901,6 +3925,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,

View File

@ -12,7 +12,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3154,10 +3154,11 @@ static void mvneta_validate_support(stru
@@ -3152,10 +3152,11 @@ static void mvneta_validate_support(stru
phylink_set(mask, 10baseT_Full);
phylink_set(mask, 100baseT_Half);
phylink_set(mask, 100baseT_Full);

View File

@ -11,7 +11,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3144,6 +3144,8 @@ static void mvneta_validate_support(stru
@@ -3142,6 +3142,8 @@ static void mvneta_validate_support(stru
phylink_set(mask, BNC);
phylink_set(mask, Backplane);
@ -20,7 +20,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
/* Half-duplex at speeds higher than 100Mbit is unsupported */
phylink_set(mask, 1000baseT_Full);
phylink_set(mask, 1000baseX_Full);
@@ -3156,9 +3158,6 @@ static void mvneta_validate_support(stru
@@ -3154,9 +3156,6 @@ static void mvneta_validate_support(stru
phylink_set(mask, 100baseT_Full);
}

View File

@ -10,7 +10,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3306,7 +3306,8 @@ static void mvneta_mac_link_down(struct
@@ -3304,7 +3304,8 @@ static void mvneta_mac_link_down(struct
}
}

View File

@ -65,7 +65,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
u64 ethtool_stats[ARRAY_SIZE(mvneta_statistics)];
u32 indir[MVNETA_RSS_LU_TABLE_SIZE];
@@ -3291,6 +3308,18 @@ static void mvneta_mac_config(struct net
@@ -3289,6 +3306,18 @@ static void mvneta_mac_config(struct net
mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, new_an);
}
@ -84,7 +84,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
static void mvneta_mac_link_down(struct net_device *ndev, unsigned int mode)
{
struct mvneta_port *pp = netdev_priv(ndev);
@@ -3304,6 +3333,9 @@ static void mvneta_mac_link_down(struct
@@ -3302,6 +3331,9 @@ static void mvneta_mac_link_down(struct
val |= MVNETA_GMAC_FORCE_LINK_DOWN;
mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val);
}
@ -94,7 +94,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
static void mvneta_mac_link_up(struct net_device *ndev, unsigned int mode,
@@ -3320,6 +3352,11 @@ static void mvneta_mac_link_up(struct ne
@@ -3318,6 +3350,11 @@ static void mvneta_mac_link_up(struct ne
}
mvneta_port_up(pp);
@ -106,7 +106,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
static const struct phylink_mac_ops mvneta_phylink_ops = {
@@ -3772,6 +3809,13 @@ static void mvneta_ethtool_update_stats(
@@ -3770,6 +3807,13 @@ static void mvneta_ethtool_update_stats(
high = readl_relaxed(base + s->offset + 4);
val = (u64)high << 32 | low;
break;
@ -120,7 +120,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
}
pp->ethtool_stats[i] += val;
@@ -3907,6 +3951,47 @@ static u16 mvneta_select_queue(struct ne
@@ -3905,6 +3949,47 @@ static u16 mvneta_select_queue(struct ne
}
@ -168,7 +168,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
@@ -3939,6 +4024,8 @@ const struct ethtool_ops mvneta_eth_tool
@@ -3937,6 +4022,8 @@ const struct ethtool_ops mvneta_eth_tool
.set_rxfh = mvneta_ethtool_set_rxfh,
.get_link_ksettings = mvneta_ethtool_get_link_ksettings,
.set_link_ksettings = mvneta_ethtool_set_link_ksettings,

View File

@ -7,7 +7,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3951,6 +3951,22 @@ static u16 mvneta_select_queue(struct ne
@@ -3949,6 +3949,22 @@ static u16 mvneta_select_queue(struct ne
}
@ -30,7 +30,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
static int mvneta_ethtool_get_eee(struct net_device *dev,
struct ethtool_eee *eee)
{
@@ -4024,6 +4040,8 @@ const struct ethtool_ops mvneta_eth_tool
@@ -4022,6 +4038,8 @@ const struct ethtool_ops mvneta_eth_tool
.set_rxfh = mvneta_ethtool_set_rxfh,
.get_link_ksettings = mvneta_ethtool_get_link_ksettings,
.set_link_ksettings = mvneta_ethtool_set_link_ksettings,