kernel: bump 4.19 to 4.19.105

Refreshed all patches.

Fixes:
- CVE-2013-1798
- CVE-2019-3016

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
master
Koen Vandeputte 4 years ago
parent f4bea1b6a3
commit b6c9d2bab0

@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
endif endif
LINUX_VERSION-4.14 = .171 LINUX_VERSION-4.14 = .171
LINUX_VERSION-4.19 = .101 LINUX_VERSION-4.19 = .105
LINUX_KERNEL_HASH-4.14.171 = 4fe02489e4b4a187eccf0ef87df6100534c9d485e76d876b1fa247c7635332a0 LINUX_KERNEL_HASH-4.14.171 = 4fe02489e4b4a187eccf0ef87df6100534c9d485e76d876b1fa247c7635332a0
LINUX_KERNEL_HASH-4.19.101 = be26156abdb38ac0576a34a235ef456bb8ca67fbbe56fc6649b8d069159f8bc4 LINUX_KERNEL_HASH-4.19.105 = f82c778ab404feb3dce6c08bff089fe2e1d86b62fc40cf2950112ea7aa22bf12
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

@ -40,7 +40,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/tty/serial/ar933x_uart.c --- a/drivers/tty/serial/ar933x_uart.c
+++ b/drivers/tty/serial/ar933x_uart.c +++ b/drivers/tty/serial/ar933x_uart.c
@@ -328,6 +328,10 @@ static void ar933x_uart_set_termios(stru @@ -286,6 +286,10 @@ static void ar933x_uart_set_termios(stru
ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
AR933X_UART_CS_HOST_INT_EN); AR933X_UART_CS_HOST_INT_EN);
@ -51,7 +51,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* reenable the UART */ /* reenable the UART */
ar933x_uart_rmw(up, AR933X_UART_CS_REG, ar933x_uart_rmw(up, AR933X_UART_CS_REG,
AR933X_UART_CS_IF_MODE_M << AR933X_UART_CS_IF_MODE_S, AR933X_UART_CS_IF_MODE_M << AR933X_UART_CS_IF_MODE_S,
@@ -460,6 +464,10 @@ static int ar933x_uart_startup(struct ua @@ -418,6 +422,10 @@ static int ar933x_uart_startup(struct ua
ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
AR933X_UART_CS_HOST_INT_EN); AR933X_UART_CS_HOST_INT_EN);

@ -802,7 +802,7 @@
* No flags defined yet. * No flags defined yet.
--- a/net/core/utils.c --- a/net/core/utils.c
+++ b/net/core/utils.c +++ b/net/core/utils.c
@@ -447,8 +447,14 @@ void inet_proto_csum_replace16(__sum16 * @@ -464,8 +464,14 @@ void inet_proto_csum_replace16(__sum16 *
bool pseudohdr) bool pseudohdr)
{ {
__be32 diff[] = { __be32 diff[] = {

@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -7977,8 +7977,6 @@ int alloc_contig_range(unsigned long sta @@ -8007,8 +8007,6 @@ int alloc_contig_range(unsigned long sta
/* Make sure the range is really isolated. */ /* Make sure the range is really isolated. */
if (test_pages_isolated(outer_start, end, false)) { if (test_pages_isolated(outer_start, end, false)) {

@ -90,8 +90,8 @@ configfs: New of_overlay API
+make sense for developers (since it avoids problems with namespaces). +make sense for developers (since it avoids problems with namespaces).
--- a/drivers/of/Kconfig --- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig +++ b/drivers/of/Kconfig
@@ -104,4 +104,11 @@ config OF_OVERLAY @@ -108,4 +108,11 @@ config OF_DMA_DEFAULT_COHERENT
config OF_NUMA # arches should select this if DMA is coherent by default for OF devices
bool bool
+config OF_CONFIGFS +config OF_CONFIGFS

@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
--- a/drivers/mtd/spi-nor/spi-nor.c --- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1301,6 +1301,18 @@ static const struct flash_info *spi_nor_ @@ -1305,6 +1305,18 @@ static const struct flash_info *spi_nor_
} }
dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n",
id[0], id[1], id[2]); id[0], id[1], id[2]);

@ -52,7 +52,7 @@ Signed-off-by: Will Deacon <will.deacon@arm.com>
/* /*
@@ -128,9 +128,9 @@ struct user_sve_header { @@ -129,9 +129,9 @@ struct user_sve_header {
*/ */
/* Offset from the start of struct user_sve_header to the register data */ /* Offset from the start of struct user_sve_header to the register data */
@ -65,7 +65,7 @@ Signed-off-by: Will Deacon <will.deacon@arm.com>
/* /*
* The register data content and layout depends on the value of the * The register data content and layout depends on the value of the
@@ -176,39 +176,36 @@ struct user_sve_header { @@ -177,39 +177,36 @@ struct user_sve_header {
* Additional data might be appended in the future. * Additional data might be appended in the future.
*/ */
@ -117,7 +117,7 @@ Signed-off-by: Will Deacon <will.deacon@arm.com>
#define SVE_PT_SVE_FPCR_OFFSET(vq) \ #define SVE_PT_SVE_FPCR_OFFSET(vq) \
(SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE) (SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE)
@@ -219,8 +216,8 @@ struct user_sve_header { @@ -220,8 +217,8 @@ struct user_sve_header {
#define SVE_PT_SVE_SIZE(vq, flags) \ #define SVE_PT_SVE_SIZE(vq, flags) \
((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE \ ((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE \

@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
config MODULES_TREE_LOOKUP config MODULES_TREE_LOOKUP
--- a/kernel/module.c --- a/kernel/module.c
+++ b/kernel/module.c +++ b/kernel/module.c
@@ -3027,9 +3027,11 @@ static int setup_load_info(struct load_i @@ -3029,9 +3029,11 @@ static int setup_load_info(struct load_i
static int check_modinfo(struct module *mod, struct load_info *info, int flags) static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{ {
@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (flags & MODULE_INIT_IGNORE_VERMAGIC) if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL; modmagic = NULL;
@@ -3050,6 +3052,7 @@ static int check_modinfo(struct module * @@ -3052,6 +3054,7 @@ static int check_modinfo(struct module *
mod->name); mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
} }

@ -132,7 +132,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
do { \ do { \
--- a/ipc/msg.c --- a/ipc/msg.c
+++ b/ipc/msg.c +++ b/ipc/msg.c
@@ -1291,6 +1291,9 @@ void __init msg_init(void) @@ -1292,6 +1292,9 @@ void __init msg_init(void)
{ {
msg_init_ns(&init_ipc_ns); msg_init_ns(&init_ipc_ns);

@ -1,6 +1,6 @@
--- a/drivers/mtd/spi-nor/spi-nor.c --- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1094,6 +1094,7 @@ static const struct flash_info spi_nor_i @@ -1099,6 +1099,7 @@ static const struct flash_info spi_nor_i
{ "mx25u12835f", INFO(0xc22538, 0, 64 * 1024, 256, { "mx25u12835f", INFO(0xc22538, 0, 64 * 1024, 256,
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
@ -8,7 +8,7 @@
{ "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) }, { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
{ "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
@@ -1280,11 +1281,12 @@ static const struct flash_info spi_nor_i @@ -1284,11 +1285,12 @@ static const struct flash_info spi_nor_i
{ }, { },
}; };
@ -23,7 +23,7 @@
tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN); tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN);
if (tmp < 0) { if (tmp < 0) {
@@ -1295,10 +1297,16 @@ static const struct flash_info *spi_nor_ @@ -1299,10 +1301,16 @@ static const struct flash_info *spi_nor_
for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) { for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) {
info = &spi_nor_ids[tmp]; info = &spi_nor_ids[tmp];
if (info->id_len) { if (info->id_len) {
@ -42,7 +42,7 @@
dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n",
id[0], id[1], id[2]); id[0], id[1], id[2]);
return ERR_PTR(-ENODEV); return ERR_PTR(-ENODEV);
@@ -2832,7 +2840,7 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -2836,7 +2844,7 @@ int spi_nor_scan(struct spi_nor *nor, co
info = spi_nor_match_id(name); info = spi_nor_match_id(name);
/* Try to auto-detect if chip name wasn't specified or not found */ /* Try to auto-detect if chip name wasn't specified or not found */
if (!info) if (!info)
@ -51,7 +51,7 @@
if (IS_ERR_OR_NULL(info)) if (IS_ERR_OR_NULL(info))
return -ENOENT; return -ENOENT;
@@ -2843,7 +2851,7 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -2847,7 +2855,7 @@ int spi_nor_scan(struct spi_nor *nor, co
if (name && info->id_len) { if (name && info->id_len) {
const struct flash_info *jinfo; const struct flash_info *jinfo;

@ -15,7 +15,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
--- a/drivers/mtd/spi-nor/spi-nor.c --- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1091,6 +1091,8 @@ static const struct flash_info spi_nor_i @@ -1096,6 +1096,8 @@ static const struct flash_info spi_nor_i
{ "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) }, { "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) },
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },

@ -1,6 +1,6 @@
--- a/arch/powerpc/Kconfig --- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig
@@ -809,6 +809,14 @@ config CMDLINE_FORCE @@ -810,6 +810,14 @@ config CMDLINE_FORCE
This is useful if you cannot or don't want to change the This is useful if you cannot or don't want to change the
command-line options your boot loader passes to the kernel. command-line options your boot loader passes to the kernel.

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- ---
--- a/drivers/net/ethernet/marvell/mvneta.c --- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -4257,6 +4257,15 @@ static int mvneta_ethtool_set_eee(struct @@ -4272,6 +4272,15 @@ static int mvneta_ethtool_set_eee(struct
return phylink_ethtool_set_eee(pp->phylink, eee); return phylink_ethtool_set_eee(pp->phylink, eee);
} }
@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const struct net_device_ops mvneta_netdev_ops = { static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open, .ndo_open = mvneta_open,
.ndo_stop = mvneta_stop, .ndo_stop = mvneta_stop,
@@ -4267,6 +4276,7 @@ static const struct net_device_ops mvnet @@ -4282,6 +4291,7 @@ static const struct net_device_ops mvnet
.ndo_fix_features = mvneta_fix_features, .ndo_fix_features = mvneta_fix_features,
.ndo_get_stats64 = mvneta_get_stats64, .ndo_get_stats64 = mvneta_get_stats64,
.ndo_do_ioctl = mvneta_ioctl, .ndo_do_ioctl = mvneta_ioctl,

@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#define MVNETA_MIB_COUNTERS_BASE 0x3000 #define MVNETA_MIB_COUNTERS_BASE 0x3000
#define MVNETA_MIB_LATE_COLLISION 0x7c #define MVNETA_MIB_LATE_COLLISION 0x7c
#define MVNETA_DA_FILT_SPEC_MCAST 0x3400 #define MVNETA_DA_FILT_SPEC_MCAST 0x3400
@@ -3344,6 +3346,7 @@ static void mvneta_validate(struct net_d @@ -3359,6 +3361,7 @@ static void mvneta_validate(struct net_d
if (state->interface != PHY_INTERFACE_MODE_NA && if (state->interface != PHY_INTERFACE_MODE_NA &&
state->interface != PHY_INTERFACE_MODE_QSGMII && state->interface != PHY_INTERFACE_MODE_QSGMII &&
state->interface != PHY_INTERFACE_MODE_SGMII && state->interface != PHY_INTERFACE_MODE_SGMII &&
@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
!phy_interface_mode_is_8023z(state->interface) && !phy_interface_mode_is_8023z(state->interface) &&
!phy_interface_mode_is_rgmii(state->interface)) { !phy_interface_mode_is_rgmii(state->interface)) {
bitmap_zero(supported, __ETHTOOL_LINK_MODE_MASK_NBITS); bitmap_zero(supported, __ETHTOOL_LINK_MODE_MASK_NBITS);
@@ -3356,9 +3359,15 @@ static void mvneta_validate(struct net_d @@ -3371,9 +3374,15 @@ static void mvneta_validate(struct net_d
/* Asymmetric pause is unsupported */ /* Asymmetric pause is unsupported */
phylink_set(mask, Pause); phylink_set(mask, Pause);
@ -59,7 +59,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (!phy_interface_mode_is_8023z(state->interface)) { if (!phy_interface_mode_is_8023z(state->interface)) {
/* 10M and 100M are only supported in non-802.3z mode */ /* 10M and 100M are only supported in non-802.3z mode */
@@ -3419,12 +3428,14 @@ static void mvneta_mac_config(struct net @@ -3434,12 +3443,14 @@ static void mvneta_mac_config(struct net
struct mvneta_port *pp = netdev_priv(ndev); struct mvneta_port *pp = netdev_priv(ndev);
u32 new_ctrl0, gmac_ctrl0 = mvreg_read(pp, MVNETA_GMAC_CTRL_0); u32 new_ctrl0, gmac_ctrl0 = mvreg_read(pp, MVNETA_GMAC_CTRL_0);
u32 new_ctrl2, gmac_ctrl2 = mvreg_read(pp, MVNETA_GMAC_CTRL_2); u32 new_ctrl2, gmac_ctrl2 = mvreg_read(pp, MVNETA_GMAC_CTRL_2);
@ -74,7 +74,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
new_clk = gmac_clk & ~MVNETA_GMAC_1MS_CLOCK_ENABLE; new_clk = gmac_clk & ~MVNETA_GMAC_1MS_CLOCK_ENABLE;
new_an = gmac_an & ~(MVNETA_GMAC_INBAND_AN_ENABLE | new_an = gmac_an & ~(MVNETA_GMAC_INBAND_AN_ENABLE |
MVNETA_GMAC_INBAND_RESTART_AN | MVNETA_GMAC_INBAND_RESTART_AN |
@@ -3457,7 +3468,7 @@ static void mvneta_mac_config(struct net @@ -3472,7 +3483,7 @@ static void mvneta_mac_config(struct net
if (state->duplex) if (state->duplex)
new_an |= MVNETA_GMAC_CONFIG_FULL_DUPLEX; new_an |= MVNETA_GMAC_CONFIG_FULL_DUPLEX;
@ -83,7 +83,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
new_an |= MVNETA_GMAC_CONFIG_GMII_SPEED; new_an |= MVNETA_GMAC_CONFIG_GMII_SPEED;
else if (state->speed == SPEED_100) else if (state->speed == SPEED_100)
new_an |= MVNETA_GMAC_CONFIG_MII_SPEED; new_an |= MVNETA_GMAC_CONFIG_MII_SPEED;
@@ -3496,10 +3507,18 @@ static void mvneta_mac_config(struct net @@ -3511,10 +3522,18 @@ static void mvneta_mac_config(struct net
MVNETA_GMAC_FORCE_LINK_DOWN); MVNETA_GMAC_FORCE_LINK_DOWN);
} }

@ -13,7 +13,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/marvell/mvneta.c --- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -493,7 +493,7 @@ struct mvneta_port { @@ -495,7 +495,7 @@ struct mvneta_port {
#if defined(__LITTLE_ENDIAN) #if defined(__LITTLE_ENDIAN)
struct mvneta_tx_desc { struct mvneta_tx_desc {
u32 command; /* Options used by HW for packet transmitting.*/ u32 command; /* Options used by HW for packet transmitting.*/
@ -22,7 +22,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u16 data_size; /* Data size of transmitted packet in bytes */ u16 data_size; /* Data size of transmitted packet in bytes */
u32 buf_phys_addr; /* Physical addr of transmitted buffer */ u32 buf_phys_addr; /* Physical addr of transmitted buffer */
u32 reserved2; /* hw_cmd - (for future use, PMT) */ u32 reserved2; /* hw_cmd - (for future use, PMT) */
@@ -518,7 +518,7 @@ struct mvneta_rx_desc { @@ -520,7 +520,7 @@ struct mvneta_rx_desc {
#else #else
struct mvneta_tx_desc { struct mvneta_tx_desc {
u16 data_size; /* Data size of transmitted packet in bytes */ u16 data_size; /* Data size of transmitted packet in bytes */

@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/marvell/mvneta.c --- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3346,7 +3346,6 @@ static void mvneta_validate(struct net_d @@ -3361,7 +3361,6 @@ static void mvneta_validate(struct net_d
if (state->interface != PHY_INTERFACE_MODE_NA && if (state->interface != PHY_INTERFACE_MODE_NA &&
state->interface != PHY_INTERFACE_MODE_QSGMII && state->interface != PHY_INTERFACE_MODE_QSGMII &&
state->interface != PHY_INTERFACE_MODE_SGMII && state->interface != PHY_INTERFACE_MODE_SGMII &&
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
!phy_interface_mode_is_8023z(state->interface) && !phy_interface_mode_is_8023z(state->interface) &&
!phy_interface_mode_is_rgmii(state->interface)) { !phy_interface_mode_is_rgmii(state->interface)) {
bitmap_zero(supported, __ETHTOOL_LINK_MODE_MASK_NBITS); bitmap_zero(supported, __ETHTOOL_LINK_MODE_MASK_NBITS);
@@ -3360,14 +3359,9 @@ static void mvneta_validate(struct net_d @@ -3375,14 +3374,9 @@ static void mvneta_validate(struct net_d
/* Asymmetric pause is unsupported */ /* Asymmetric pause is unsupported */
phylink_set(mask, Pause); phylink_set(mask, Pause);

@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/marvell/mvneta.c --- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -4253,8 +4253,7 @@ static int mvneta_ethtool_set_eee(struct @@ -4268,8 +4268,7 @@ static int mvneta_ethtool_set_eee(struct
/* The Armada 37x documents do not give limits for this other than /* The Armada 37x documents do not give limits for this other than
* it being an 8-bit register. */ * it being an 8-bit register. */

@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#include <linux/phy.h> #include <linux/phy.h>
#include <linux/phylink.h> #include <linux/phylink.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
@@ -436,6 +437,7 @@ struct mvneta_port { @@ -438,6 +439,7 @@ struct mvneta_port {
struct device_node *dn; struct device_node *dn;
unsigned int tx_csum_limit; unsigned int tx_csum_limit;
struct phylink *phylink; struct phylink *phylink;
@ -31,7 +31,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct mvneta_bm *bm_priv; struct mvneta_bm *bm_priv;
struct mvneta_bm_pool *pool_long; struct mvneta_bm_pool *pool_long;
@@ -3153,6 +3155,8 @@ static void mvneta_start_dev(struct mvne @@ -3168,6 +3170,8 @@ static void mvneta_start_dev(struct mvne
{ {
int cpu; int cpu;
@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mvneta_max_rx_size_set(pp, pp->pkt_size); mvneta_max_rx_size_set(pp, pp->pkt_size);
mvneta_txq_max_tx_size_set(pp, pp->pkt_size); mvneta_txq_max_tx_size_set(pp, pp->pkt_size);
@@ -3215,6 +3219,8 @@ static void mvneta_stop_dev(struct mvnet @@ -3230,6 +3234,8 @@ static void mvneta_stop_dev(struct mvnet
mvneta_tx_reset(pp); mvneta_tx_reset(pp);
mvneta_rx_reset(pp); mvneta_rx_reset(pp);
@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
static void mvneta_percpu_enable(void *arg) static void mvneta_percpu_enable(void *arg)
@@ -3340,6 +3346,7 @@ static int mvneta_set_mac_addr(struct ne @@ -3355,6 +3361,7 @@ static int mvneta_set_mac_addr(struct ne
static void mvneta_validate(struct net_device *ndev, unsigned long *supported, static void mvneta_validate(struct net_device *ndev, unsigned long *supported,
struct phylink_link_state *state) struct phylink_link_state *state)
{ {
@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
__ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, }; __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
/* We only support QSGMII, SGMII, 802.3z and RGMII modes */ /* We only support QSGMII, SGMII, 802.3z and RGMII modes */
@@ -3360,8 +3367,13 @@ static void mvneta_validate(struct net_d @@ -3375,8 +3382,13 @@ static void mvneta_validate(struct net_d
phylink_set(mask, Pause); phylink_set(mask, Pause);
/* Half-duplex at speeds higher than 100Mbit is unsupported */ /* Half-duplex at speeds higher than 100Mbit is unsupported */
@ -73,7 +73,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (!phy_interface_mode_is_8023z(state->interface)) { if (!phy_interface_mode_is_8023z(state->interface)) {
/* 10M and 100M are only supported in non-802.3z mode */ /* 10M and 100M are only supported in non-802.3z mode */
@@ -3375,6 +3387,11 @@ static void mvneta_validate(struct net_d @@ -3390,6 +3402,11 @@ static void mvneta_validate(struct net_d
__ETHTOOL_LINK_MODE_MASK_NBITS); __ETHTOOL_LINK_MODE_MASK_NBITS);
bitmap_and(state->advertising, state->advertising, mask, bitmap_and(state->advertising, state->advertising, mask,
__ETHTOOL_LINK_MODE_MASK_NBITS); __ETHTOOL_LINK_MODE_MASK_NBITS);
@ -85,7 +85,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
static int mvneta_mac_link_state(struct net_device *ndev, static int mvneta_mac_link_state(struct net_device *ndev,
@@ -3386,7 +3403,9 @@ static int mvneta_mac_link_state(struct @@ -3401,7 +3418,9 @@ static int mvneta_mac_link_state(struct
gmac_stat = mvreg_read(pp, MVNETA_GMAC_STATUS); gmac_stat = mvreg_read(pp, MVNETA_GMAC_STATUS);
if (gmac_stat & MVNETA_GMAC_SPEED_1000) if (gmac_stat & MVNETA_GMAC_SPEED_1000)
@ -96,7 +96,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
else if (gmac_stat & MVNETA_GMAC_SPEED_100) else if (gmac_stat & MVNETA_GMAC_SPEED_100)
state->speed = SPEED_100; state->speed = SPEED_100;
else else
@@ -3501,12 +3520,20 @@ static void mvneta_mac_config(struct net @@ -3516,12 +3535,20 @@ static void mvneta_mac_config(struct net
MVNETA_GMAC_FORCE_LINK_DOWN); MVNETA_GMAC_FORCE_LINK_DOWN);
} }
@ -117,7 +117,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (new_ctrl0 != gmac_ctrl0) if (new_ctrl0 != gmac_ctrl0)
mvreg_write(pp, MVNETA_GMAC_CTRL_0, new_ctrl0); mvreg_write(pp, MVNETA_GMAC_CTRL_0, new_ctrl0);
if (new_ctrl2 != gmac_ctrl2) if (new_ctrl2 != gmac_ctrl2)
@@ -4419,7 +4446,7 @@ static int mvneta_port_power_up(struct m @@ -4434,7 +4461,7 @@ static int mvneta_port_power_up(struct m
if (phy_mode == PHY_INTERFACE_MODE_QSGMII) if (phy_mode == PHY_INTERFACE_MODE_QSGMII)
mvreg_write(pp, MVNETA_SERDES_CFG, MVNETA_QSGMII_SERDES_PROTO); mvreg_write(pp, MVNETA_SERDES_CFG, MVNETA_QSGMII_SERDES_PROTO);
else if (phy_mode == PHY_INTERFACE_MODE_SGMII || else if (phy_mode == PHY_INTERFACE_MODE_SGMII ||
@ -126,7 +126,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mvreg_write(pp, MVNETA_SERDES_CFG, MVNETA_SGMII_SERDES_PROTO); mvreg_write(pp, MVNETA_SERDES_CFG, MVNETA_SGMII_SERDES_PROTO);
else if (!phy_interface_mode_is_rgmii(phy_mode)) else if (!phy_interface_mode_is_rgmii(phy_mode))
return -EINVAL; return -EINVAL;
@@ -4436,6 +4463,7 @@ static int mvneta_probe(struct platform_ @@ -4451,6 +4478,7 @@ static int mvneta_probe(struct platform_
struct mvneta_port *pp; struct mvneta_port *pp;
struct net_device *dev; struct net_device *dev;
struct phylink *phylink; struct phylink *phylink;
@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
const char *dt_mac_addr; const char *dt_mac_addr;
char hw_mac_addr[ETH_ALEN]; char hw_mac_addr[ETH_ALEN];
const char *mac_from; const char *mac_from;
@@ -4461,6 +4489,14 @@ static int mvneta_probe(struct platform_ @@ -4476,6 +4504,14 @@ static int mvneta_probe(struct platform_
goto err_free_irq; goto err_free_irq;
} }
@ -149,7 +149,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
phylink = phylink_create(dev, pdev->dev.fwnode, phy_mode, phylink = phylink_create(dev, pdev->dev.fwnode, phy_mode,
&mvneta_phylink_ops); &mvneta_phylink_ops);
if (IS_ERR(phylink)) { if (IS_ERR(phylink)) {
@@ -4477,6 +4513,7 @@ static int mvneta_probe(struct platform_ @@ -4492,6 +4528,7 @@ static int mvneta_probe(struct platform_
pp = netdev_priv(dev); pp = netdev_priv(dev);
spin_lock_init(&pp->lock); spin_lock_init(&pp->lock);
pp->phylink = phylink; pp->phylink = phylink;

@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/marvell/mvneta.c --- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3151,11 +3151,26 @@ static int mvneta_setup_txqs(struct mvne @@ -3166,11 +3166,26 @@ static int mvneta_setup_txqs(struct mvne
return 0; return 0;
} }
@ -56,7 +56,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mvneta_max_rx_size_set(pp, pp->pkt_size); mvneta_max_rx_size_set(pp, pp->pkt_size);
mvneta_txq_max_tx_size_set(pp, pp->pkt_size); mvneta_txq_max_tx_size_set(pp, pp->pkt_size);
@@ -3527,12 +3542,15 @@ static void mvneta_mac_config(struct net @@ -3542,12 +3557,15 @@ static void mvneta_mac_config(struct net
if (state->speed == SPEED_2500) if (state->speed == SPEED_2500)
new_ctrl4 |= MVNETA_GMAC4_SHORT_PREAMBLE_ENABLE; new_ctrl4 |= MVNETA_GMAC4_SHORT_PREAMBLE_ENABLE;

@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/marvell/mvneta.c --- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3387,6 +3387,7 @@ static void mvneta_validate(struct net_d @@ -3402,6 +3402,7 @@ static void mvneta_validate(struct net_d
phylink_set(mask, 1000baseX_Full); phylink_set(mask, 1000baseX_Full);
} }
if (pp->comphy || state->interface == PHY_INTERFACE_MODE_2500BASEX) { if (pp->comphy || state->interface == PHY_INTERFACE_MODE_2500BASEX) {

Loading…
Cancel
Save