mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 14:23:38 +00:00
kernel: bump 5.4 to 5.4.260 (#11657)
Signed-off-by: aakkll <94471752+aakkll@users.noreply.github.com>
This commit is contained in:
parent
59e66205ed
commit
03ef1793db
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.4 = .258
|
LINUX_VERSION-5.4 = .260
|
||||||
LINUX_KERNEL_HASH-5.4.258 = 39701815a7a1b5ea4253db18e9327a45926a944499628d032da63c1bb6ea623e
|
LINUX_KERNEL_HASH-5.4.260 = 9830820714c8f5985c50071cc9e1b40533ee81a4f6c704916c7148d16e54ebfeO
|
||||||
|
@ -305,7 +305,7 @@
|
|||||||
list_for_each_entry(p, head, list) {
|
list_for_each_entry(p, head, list) {
|
||||||
--- a/net/ipv4/tcp_output.c
|
--- a/net/ipv4/tcp_output.c
|
||||||
+++ b/net/ipv4/tcp_output.c
|
+++ b/net/ipv4/tcp_output.c
|
||||||
@@ -461,48 +461,53 @@ static void tcp_options_write(__be32 *pt
|
@@ -460,48 +460,53 @@ static void tcp_options_write(__be32 *pt
|
||||||
u16 options = opts->options; /* mungable copy */
|
u16 options = opts->options; /* mungable copy */
|
||||||
|
|
||||||
if (unlikely(OPTION_MD5 & options)) {
|
if (unlikely(OPTION_MD5 & options)) {
|
||||||
@ -382,7 +382,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (unlikely(opts->num_sack_blocks)) {
|
if (unlikely(opts->num_sack_blocks)) {
|
||||||
@@ -510,16 +515,17 @@ static void tcp_options_write(__be32 *pt
|
@@ -509,16 +514,17 @@ static void tcp_options_write(__be32 *pt
|
||||||
tp->duplicate_sack : tp->selective_acks;
|
tp->duplicate_sack : tp->selective_acks;
|
||||||
int this_sack;
|
int this_sack;
|
||||||
|
|
||||||
@ -406,7 +406,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
tp->rx_opt.dsack = 0;
|
tp->rx_opt.dsack = 0;
|
||||||
@@ -532,13 +538,14 @@ static void tcp_options_write(__be32 *pt
|
@@ -531,13 +537,14 @@ static void tcp_options_write(__be32 *pt
|
||||||
|
|
||||||
if (foc->exp) {
|
if (foc->exp) {
|
||||||
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
|
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
|
||||||
@ -706,7 +706,7 @@
|
|||||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||||
--- a/net/ipv4/tcp_input.c
|
--- a/net/ipv4/tcp_input.c
|
||||||
+++ b/net/ipv4/tcp_input.c
|
+++ b/net/ipv4/tcp_input.c
|
||||||
@@ -4004,14 +4004,16 @@ static bool tcp_parse_aligned_timestamp(
|
@@ -4017,14 +4017,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||||
{
|
{
|
||||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
compatible = "generic-ohci";
|
compatible = "generic-ohci";
|
||||||
--- a/arch/arm/boot/dts/bcm53573.dtsi
|
--- a/arch/arm/boot/dts/bcm53573.dtsi
|
||||||
+++ b/arch/arm/boot/dts/bcm53573.dtsi
|
+++ b/arch/arm/boot/dts/bcm53573.dtsi
|
||||||
@@ -135,7 +135,7 @@
|
@@ -138,7 +138,7 @@
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
|||||||
compatible = "generic-ehci";
|
compatible = "generic-ehci";
|
||||||
reg = <0x4000 0x1000>;
|
reg = <0x4000 0x1000>;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
@@ -155,7 +155,7 @@
|
@@ -158,7 +158,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ Link: https://lore.kernel.org/linux-mtd/20200512075733.745374-3-noltari@gmail.co
|
|||||||
|
|
||||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||||
@@ -1004,33 +1004,30 @@ static int brcmnand_hamming_ooblayout_fr
|
@@ -1020,33 +1020,30 @@ static int brcmnand_hamming_ooblayout_fr
|
||||||
struct brcmnand_cfg *cfg = &host->hwcfg;
|
struct brcmnand_cfg *cfg = &host->hwcfg;
|
||||||
int sas = cfg->spare_area_size << cfg->sector_size_1k;
|
int sas = cfg->spare_area_size << cfg->sector_size_1k;
|
||||||
int sectors = cfg->page_size / (512 << cfg->sector_size_1k);
|
int sectors = cfg->page_size / (512 << cfg->sector_size_1k);
|
||||||
|
@ -19,7 +19,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-2-noltari@gmail.c
|
|||||||
|
|
||||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||||
@@ -269,8 +269,8 @@ enum brcmnand_reg {
|
@@ -270,8 +270,8 @@ enum brcmnand_reg {
|
||||||
BRCMNAND_FC_BASE,
|
BRCMNAND_FC_BASE,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-2-noltari@gmail.c
|
|||||||
[BRCMNAND_CMD_START] = 0x04,
|
[BRCMNAND_CMD_START] = 0x04,
|
||||||
[BRCMNAND_CMD_EXT_ADDRESS] = 0x08,
|
[BRCMNAND_CMD_EXT_ADDRESS] = 0x08,
|
||||||
[BRCMNAND_CMD_ADDRESS] = 0x0c,
|
[BRCMNAND_CMD_ADDRESS] = 0x0c,
|
||||||
@@ -522,8 +522,8 @@ static int brcmnand_revision_init(struct
|
@@ -551,8 +551,8 @@ static int brcmnand_revision_init(struct
|
||||||
ctrl->reg_offsets = brcmnand_regs_v60;
|
ctrl->reg_offsets = brcmnand_regs_v60;
|
||||||
else if (ctrl->nand_version >= 0x0500)
|
else if (ctrl->nand_version >= 0x0500)
|
||||||
ctrl->reg_offsets = brcmnand_regs_v50;
|
ctrl->reg_offsets = brcmnand_regs_v50;
|
||||||
|
@ -18,7 +18,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-4-noltari@gmail.c
|
|||||||
|
|
||||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||||
@@ -502,7 +502,7 @@ static int brcmnand_revision_init(struct
|
@@ -531,7 +531,7 @@ static int brcmnand_revision_init(struct
|
||||||
{
|
{
|
||||||
static const unsigned int block_sizes_v6[] = { 8, 16, 128, 256, 512, 1024, 2048, 0 };
|
static const unsigned int block_sizes_v6[] = { 8, 16, 128, 256, 512, 1024, 2048, 0 };
|
||||||
static const unsigned int block_sizes_v4[] = { 16, 128, 8, 512, 256, 1024, 2048, 0 };
|
static const unsigned int block_sizes_v4[] = { 16, 128, 8, 512, 256, 1024, 2048, 0 };
|
||||||
@ -27,7 +27,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-4-noltari@gmail.c
|
|||||||
|
|
||||||
ctrl->nand_version = nand_readreg(ctrl, 0) & 0xffff;
|
ctrl->nand_version = nand_readreg(ctrl, 0) & 0xffff;
|
||||||
|
|
||||||
@@ -549,7 +549,7 @@ static int brcmnand_revision_init(struct
|
@@ -578,7 +578,7 @@ static int brcmnand_revision_init(struct
|
||||||
ctrl->max_page_size = 16 * 1024;
|
ctrl->max_page_size = 16 * 1024;
|
||||||
ctrl->max_block_size = 2 * 1024 * 1024;
|
ctrl->max_block_size = 2 * 1024 * 1024;
|
||||||
} else {
|
} else {
|
||||||
|
@ -25,9 +25,9 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
const unsigned int *page_sizes;
|
const unsigned int *page_sizes;
|
||||||
+ unsigned int page_size_shift;
|
+ unsigned int page_size_shift;
|
||||||
unsigned int max_oob;
|
unsigned int max_oob;
|
||||||
|
u32 ecc_level_shift;
|
||||||
u32 features;
|
u32 features;
|
||||||
|
@@ -270,6 +271,36 @@ enum brcmnand_reg {
|
||||||
@@ -269,6 +270,36 @@ enum brcmnand_reg {
|
|
||||||
BRCMNAND_FC_BASE,
|
BRCMNAND_FC_BASE,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
/* BRCMNAND v3.3-v4.0 */
|
/* BRCMNAND v3.3-v4.0 */
|
||||||
static const u16 brcmnand_regs_v33[] = {
|
static const u16 brcmnand_regs_v33[] = {
|
||||||
[BRCMNAND_CMD_START] = 0x04,
|
[BRCMNAND_CMD_START] = 0x04,
|
||||||
@@ -467,6 +498,9 @@ enum {
|
@@ -468,6 +499,9 @@ enum {
|
||||||
CFG_BUS_WIDTH = BIT(CFG_BUS_WIDTH_SHIFT),
|
CFG_BUS_WIDTH = BIT(CFG_BUS_WIDTH_SHIFT),
|
||||||
CFG_DEVICE_SIZE_SHIFT = 24,
|
CFG_DEVICE_SIZE_SHIFT = 24,
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
/* Only for pre-v7.1 (with no CFG_EXT register) */
|
/* Only for pre-v7.1 (with no CFG_EXT register) */
|
||||||
CFG_PAGE_SIZE_SHIFT = 20,
|
CFG_PAGE_SIZE_SHIFT = 20,
|
||||||
CFG_BLK_SIZE_SHIFT = 28,
|
CFG_BLK_SIZE_SHIFT = 28,
|
||||||
@@ -502,12 +536,16 @@ static int brcmnand_revision_init(struct
|
@@ -531,12 +565,16 @@ static int brcmnand_revision_init(struct
|
||||||
{
|
{
|
||||||
static const unsigned int block_sizes_v6[] = { 8, 16, 128, 256, 512, 1024, 2048, 0 };
|
static const unsigned int block_sizes_v6[] = { 8, 16, 128, 256, 512, 1024, 2048, 0 };
|
||||||
static const unsigned int block_sizes_v4[] = { 16, 128, 8, 512, 256, 1024, 2048, 0 };
|
static const unsigned int block_sizes_v4[] = { 16, 128, 8, 512, 256, 1024, 2048, 0 };
|
||||||
@ -93,7 +93,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
dev_err(ctrl->dev, "version %#x not supported\n",
|
dev_err(ctrl->dev, "version %#x not supported\n",
|
||||||
ctrl->nand_version);
|
ctrl->nand_version);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
@@ -524,6 +562,8 @@ static int brcmnand_revision_init(struct
|
@@ -553,6 +591,8 @@ static int brcmnand_revision_init(struct
|
||||||
ctrl->reg_offsets = brcmnand_regs_v50;
|
ctrl->reg_offsets = brcmnand_regs_v50;
|
||||||
else if (ctrl->nand_version >= 0x0303)
|
else if (ctrl->nand_version >= 0x0303)
|
||||||
ctrl->reg_offsets = brcmnand_regs_v33;
|
ctrl->reg_offsets = brcmnand_regs_v33;
|
||||||
@ -102,7 +102,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
|
|
||||||
/* Chip-select stride */
|
/* Chip-select stride */
|
||||||
if (ctrl->nand_version >= 0x0701)
|
if (ctrl->nand_version >= 0x0701)
|
||||||
@@ -549,14 +589,32 @@ static int brcmnand_revision_init(struct
|
@@ -578,14 +618,32 @@ static int brcmnand_revision_init(struct
|
||||||
ctrl->max_page_size = 16 * 1024;
|
ctrl->max_page_size = 16 * 1024;
|
||||||
ctrl->max_block_size = 2 * 1024 * 1024;
|
ctrl->max_block_size = 2 * 1024 * 1024;
|
||||||
} else {
|
} else {
|
||||||
@ -138,7 +138,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
ctrl->max_block_size = 512 * 1024;
|
ctrl->max_block_size = 512 * 1024;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -724,6 +782,9 @@ static void brcmnand_wr_corr_thresh(stru
|
@@ -759,6 +817,9 @@ static void brcmnand_wr_corr_thresh(stru
|
||||||
enum brcmnand_reg reg = BRCMNAND_CORR_THRESHOLD;
|
enum brcmnand_reg reg = BRCMNAND_CORR_THRESHOLD;
|
||||||
int cs = host->cs;
|
int cs = host->cs;
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
if (ctrl->nand_version == 0x0702)
|
if (ctrl->nand_version == 0x0702)
|
||||||
bits = 7;
|
bits = 7;
|
||||||
else if (ctrl->nand_version >= 0x0600)
|
else if (ctrl->nand_version >= 0x0600)
|
||||||
@@ -782,8 +843,10 @@ static inline u32 brcmnand_spare_area_ma
|
@@ -793,8 +854,10 @@ static inline u32 brcmnand_spare_area_ma
|
||||||
return GENMASK(7, 0);
|
return GENMASK(7, 0);
|
||||||
else if (ctrl->nand_version >= 0x0600)
|
else if (ctrl->nand_version >= 0x0600)
|
||||||
return GENMASK(6, 0);
|
return GENMASK(6, 0);
|
||||||
@ -159,8 +159,8 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
+ return GENMASK(4, 0);
|
+ return GENMASK(4, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define NAND_ACC_CONTROL_ECC_SHIFT 16
|
static inline u32 brcmnand_ecc_level_mask(struct brcmnand_controller *ctrl)
|
||||||
@@ -2146,7 +2209,7 @@ static int brcmnand_set_cfg(struct brcmn
|
@@ -2186,7 +2249,7 @@ static int brcmnand_set_cfg(struct brcmn
|
||||||
(!!(cfg->device_width == 16) << CFG_BUS_WIDTH_SHIFT) |
|
(!!(cfg->device_width == 16) << CFG_BUS_WIDTH_SHIFT) |
|
||||||
(device_size << CFG_DEVICE_SIZE_SHIFT);
|
(device_size << CFG_DEVICE_SIZE_SHIFT);
|
||||||
if (cfg_offs == cfg_ext_offs) {
|
if (cfg_offs == cfg_ext_offs) {
|
||||||
@ -169,21 +169,7 @@ Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.c
|
|||||||
(block_size << CFG_BLK_SIZE_SHIFT);
|
(block_size << CFG_BLK_SIZE_SHIFT);
|
||||||
nand_writereg(ctrl, cfg_offs, tmp);
|
nand_writereg(ctrl, cfg_offs, tmp);
|
||||||
} else {
|
} else {
|
||||||
@@ -2158,9 +2221,11 @@ static int brcmnand_set_cfg(struct brcmn
|
@@ -2570,6 +2633,8 @@ const struct dev_pm_ops brcmnand_pm_ops
|
||||||
|
|
||||||
tmp = nand_readreg(ctrl, acc_control_offs);
|
|
||||||
tmp &= ~brcmnand_ecc_level_mask(ctrl);
|
|
||||||
- tmp |= cfg->ecc_level << NAND_ACC_CONTROL_ECC_SHIFT;
|
|
||||||
tmp &= ~brcmnand_spare_area_mask(ctrl);
|
|
||||||
- tmp |= cfg->spare_area_size;
|
|
||||||
+ if (ctrl->nand_version >= 0x0302) {
|
|
||||||
+ tmp |= cfg->ecc_level << NAND_ACC_CONTROL_ECC_SHIFT;
|
|
||||||
+ tmp |= cfg->spare_area_size;
|
|
||||||
+ }
|
|
||||||
nand_writereg(ctrl, acc_control_offs, tmp);
|
|
||||||
|
|
||||||
brcmnand_set_sector_size_1k(host, cfg->sector_size_1k);
|
|
||||||
@@ -2530,6 +2595,8 @@ const struct dev_pm_ops brcmnand_pm_ops
|
|
||||||
EXPORT_SYMBOL_GPL(brcmnand_pm_ops);
|
EXPORT_SYMBOL_GPL(brcmnand_pm_ops);
|
||||||
|
|
||||||
static const struct of_device_id brcmnand_of_match[] = {
|
static const struct of_device_id brcmnand_of_match[] = {
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -2392,7 +2392,14 @@ static int mv88e6xxx_setup_upstream_port
|
@@ -2394,7 +2394,14 @@ static int mv88e6xxx_setup_upstream_port
|
||||||
|
|
||||||
if (chip->info->ops->set_egress_port) {
|
if (chip->info->ops->set_egress_port) {
|
||||||
err = chip->info->ops->set_egress_port(chip,
|
err = chip->info->ops->set_egress_port(chip,
|
||||||
@ -62,7 +62,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
#define MV88E6XXX_CASCADE_PORT_MULTIPLE 0xf
|
#define MV88E6XXX_CASCADE_PORT_MULTIPLE 0xf
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/global1.c
|
--- a/drivers/net/dsa/mv88e6xxx/global1.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/global1.c
|
+++ b/drivers/net/dsa/mv88e6xxx/global1.c
|
||||||
@@ -294,7 +294,9 @@ int mv88e6250_g1_ieee_pri_map(struct mv8
|
@@ -263,7 +263,9 @@ int mv88e6250_g1_ieee_pri_map(struct mv8
|
||||||
/* Offset 0x1a: Monitor Control */
|
/* Offset 0x1a: Monitor Control */
|
||||||
/* Offset 0x1a: Monitor & MGMT Control on some devices */
|
/* Offset 0x1a: Monitor & MGMT Control on some devices */
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
{
|
{
|
||||||
u16 reg;
|
u16 reg;
|
||||||
int err;
|
int err;
|
||||||
@@ -303,11 +305,20 @@ int mv88e6095_g1_set_egress_port(struct
|
@@ -272,11 +274,20 @@ int mv88e6095_g1_set_egress_port(struct
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
return mv88e6xxx_g1_write(chip, MV88E6185_G1_MONITOR_CTL, reg);
|
return mv88e6xxx_g1_write(chip, MV88E6185_G1_MONITOR_CTL, reg);
|
||||||
}
|
}
|
||||||
@@ -341,17 +352,24 @@ static int mv88e6390_g1_monitor_write(st
|
@@ -310,17 +321,24 @@ static int mv88e6390_g1_monitor_write(st
|
||||||
return mv88e6xxx_g1_write(chip, MV88E6390_G1_MONITOR_MGMT_CTL, reg);
|
return mv88e6xxx_g1_write(chip, MV88E6390_G1_MONITOR_MGMT_CTL, reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,7 +132,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
return err;
|
return err;
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/global1.h
|
--- a/drivers/net/dsa/mv88e6xxx/global1.h
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/global1.h
|
+++ b/drivers/net/dsa/mv88e6xxx/global1.h
|
||||||
@@ -289,8 +289,12 @@ int mv88e6095_g1_stats_set_histogram(str
|
@@ -288,8 +288,12 @@ int mv88e6095_g1_stats_set_histogram(str
|
||||||
int mv88e6390_g1_stats_set_histogram(struct mv88e6xxx_chip *chip);
|
int mv88e6390_g1_stats_set_histogram(struct mv88e6xxx_chip *chip);
|
||||||
void mv88e6xxx_g1_stats_read(struct mv88e6xxx_chip *chip, int stat, u32 *val);
|
void mv88e6xxx_g1_stats_read(struct mv88e6xxx_chip *chip, int stat, u32 *val);
|
||||||
int mv88e6xxx_g1_stats_clear(struct mv88e6xxx_chip *chip);
|
int mv88e6xxx_g1_stats_clear(struct mv88e6xxx_chip *chip);
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -4942,6 +4942,80 @@ static int mv88e6xxx_port_mdb_del(struct
|
@@ -4944,6 +4944,80 @@ static int mv88e6xxx_port_mdb_del(struct
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port,
|
static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port,
|
||||||
bool unicast, bool multicast)
|
bool unicast, bool multicast)
|
||||||
{
|
{
|
||||||
@@ -4996,6 +5070,8 @@ static const struct dsa_switch_ops mv88e
|
@@ -4998,6 +5072,8 @@ static const struct dsa_switch_ops mv88e
|
||||||
.port_mdb_prepare = mv88e6xxx_port_mdb_prepare,
|
.port_mdb_prepare = mv88e6xxx_port_mdb_prepare,
|
||||||
.port_mdb_add = mv88e6xxx_port_mdb_add,
|
.port_mdb_add = mv88e6xxx_port_mdb_add,
|
||||||
.port_mdb_del = mv88e6xxx_port_mdb_del,
|
.port_mdb_del = mv88e6xxx_port_mdb_del,
|
||||||
@ -139,7 +139,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/global1.c
|
--- a/drivers/net/dsa/mv88e6xxx/global1.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/global1.c
|
+++ b/drivers/net/dsa/mv88e6xxx/global1.c
|
||||||
@@ -298,6 +298,7 @@ int mv88e6095_g1_set_egress_port(struct
|
@@ -267,6 +267,7 @@ int mv88e6095_g1_set_egress_port(struct
|
||||||
enum mv88e6xxx_egress_direction direction,
|
enum mv88e6xxx_egress_direction direction,
|
||||||
int port)
|
int port)
|
||||||
{
|
{
|
||||||
@ -147,7 +147,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
u16 reg;
|
u16 reg;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
@@ -307,11 +308,13 @@ int mv88e6095_g1_set_egress_port(struct
|
@@ -276,11 +277,13 @@ int mv88e6095_g1_set_egress_port(struct
|
||||||
|
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
case MV88E6XXX_EGRESS_DIR_INGRESS:
|
case MV88E6XXX_EGRESS_DIR_INGRESS:
|
||||||
@ -161,7 +161,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
reg &= MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK;
|
reg &= MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK;
|
||||||
reg |= port <<
|
reg |= port <<
|
||||||
__bf_shf(MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK);
|
__bf_shf(MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK);
|
||||||
@@ -320,7 +323,11 @@ int mv88e6095_g1_set_egress_port(struct
|
@@ -289,7 +292,11 @@ int mv88e6095_g1_set_egress_port(struct
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Older generations also call this the ARP destination. It has been
|
/* Older generations also call this the ARP destination. It has been
|
||||||
@@ -356,14 +363,17 @@ int mv88e6390_g1_set_egress_port(struct
|
@@ -325,14 +332,17 @@ int mv88e6390_g1_set_egress_port(struct
|
||||||
enum mv88e6xxx_egress_direction direction,
|
enum mv88e6xxx_egress_direction direction,
|
||||||
int port)
|
int port)
|
||||||
{
|
{
|
||||||
@ -192,7 +192,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
ptr = MV88E6390_G1_MONITOR_MGMT_CTL_PTR_EGRESS_DEST;
|
ptr = MV88E6390_G1_MONITOR_MGMT_CTL_PTR_EGRESS_DEST;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -371,10 +381,10 @@ int mv88e6390_g1_set_egress_port(struct
|
@@ -340,10 +350,10 @@ int mv88e6390_g1_set_egress_port(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
err = mv88e6390_g1_monitor_write(chip, ptr, port);
|
err = mv88e6390_g1_monitor_write(chip, ptr, port);
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -5009,7 +5009,7 @@ static void mv88e6xxx_port_mirror_del(st
|
@@ -5011,7 +5011,7 @@ static void mv88e6xxx_port_mirror_del(st
|
||||||
if (chip->info->ops->set_egress_port(chip,
|
if (chip->info->ops->set_egress_port(chip,
|
||||||
direction,
|
direction,
|
||||||
dsa_upstream_port(ds,
|
dsa_upstream_port(ds,
|
||||||
|
@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/global1.c
|
--- a/drivers/net/dsa/mv88e6xxx/global1.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/global1.c
|
+++ b/drivers/net/dsa/mv88e6xxx/global1.c
|
||||||
@@ -309,13 +309,13 @@ int mv88e6095_g1_set_egress_port(struct
|
@@ -278,13 +278,13 @@ int mv88e6095_g1_set_egress_port(struct
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
case MV88E6XXX_EGRESS_DIR_INGRESS:
|
case MV88E6XXX_EGRESS_DIR_INGRESS:
|
||||||
dest_port_chip = &chip->ingress_dest_port;
|
dest_port_chip = &chip->ingress_dest_port;
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2252,6 +2252,28 @@ static int mtk_start_dma(struct mtk_eth
|
@@ -2255,6 +2255,28 @@ static int mtk_start_dma(struct mtk_eth
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int mtk_open(struct net_device *dev)
|
static int mtk_open(struct net_device *dev)
|
||||||
{
|
{
|
||||||
struct mtk_mac *mac = netdev_priv(dev);
|
struct mtk_mac *mac = netdev_priv(dev);
|
||||||
@@ -2447,8 +2469,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
@@ -2450,8 +2472,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||||
mtk_w32(eth, 0, MTK_QDMA_DELAY_INT);
|
mtk_w32(eth, 0, MTK_QDMA_DELAY_INT);
|
||||||
mtk_tx_irq_disable(eth, ~0);
|
mtk_tx_irq_disable(eth, ~0);
|
||||||
mtk_rx_irq_disable(eth, ~0);
|
mtk_rx_irq_disable(eth, ~0);
|
||||||
@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
/* FE int grouping */
|
/* FE int grouping */
|
||||||
mtk_w32(eth, MTK_TX_DONE_INT, MTK_PDMA_INT_GRP1);
|
mtk_w32(eth, MTK_TX_DONE_INT, MTK_PDMA_INT_GRP1);
|
||||||
@@ -2457,18 +2477,7 @@ static int mtk_hw_init(struct mtk_eth *e
|
@@ -2460,18 +2480,7 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||||
mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2);
|
mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2);
|
||||||
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2256,6 +2256,9 @@ static void mtk_gdm_config(struct mtk_et
|
@@ -2259,6 +2259,9 @@ static void mtk_gdm_config(struct mtk_et
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
for (i = 0; i < MTK_MAC_COUNT; i++) {
|
for (i = 0; i < MTK_MAC_COUNT; i++) {
|
||||||
u32 val = mtk_r32(eth, MTK_GDMA_FWD_CFG(i));
|
u32 val = mtk_r32(eth, MTK_GDMA_FWD_CFG(i));
|
||||||
|
|
||||||
@@ -2294,6 +2297,8 @@ static int mtk_open(struct net_device *d
|
@@ -2297,6 +2300,8 @@ static int mtk_open(struct net_device *d
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
napi_enable(ð->tx_napi);
|
napi_enable(ð->tx_napi);
|
||||||
napi_enable(ð->rx_napi);
|
napi_enable(ð->rx_napi);
|
||||||
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
|
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
|
||||||
@@ -2477,8 +2482,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
@@ -2480,8 +2485,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||||
mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2);
|
mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2);
|
||||||
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2351,6 +2351,8 @@ static int mtk_stop(struct net_device *d
|
@@ -2354,6 +2354,8 @@ static int mtk_stop(struct net_device *d
|
||||||
if (!refcount_dec_and_test(ð->dma_refcnt))
|
if (!refcount_dec_and_test(ð->dma_refcnt))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -859,7 +859,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2510,14 +2510,11 @@ static int __init mtk_init(struct net_de
|
@@ -2513,14 +2513,11 @@ static int __init mtk_init(struct net_de
|
||||||
{
|
{
|
||||||
struct mtk_mac *mac = netdev_priv(dev);
|
struct mtk_mac *mac = netdev_priv(dev);
|
||||||
struct mtk_eth *eth = mac->hw;
|
struct mtk_eth *eth = mac->hw;
|
||||||
@ -1000,7 +1000,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
u32 mahr = ravb_read(ndev, MAHR);
|
u32 mahr = ravb_read(ndev, MAHR);
|
||||||
u32 malr = ravb_read(ndev, MALR);
|
u32 malr = ravb_read(ndev, MALR);
|
||||||
|
|
||||||
@@ -2152,7 +2154,7 @@ static int ravb_probe(struct platform_de
|
@@ -2154,7 +2156,7 @@ static int ravb_probe(struct platform_de
|
||||||
priv->msg_enable = RAVB_DEF_MSG_ENABLE;
|
priv->msg_enable = RAVB_DEF_MSG_ENABLE;
|
||||||
|
|
||||||
/* Read and set MAC address */
|
/* Read and set MAC address */
|
||||||
@ -1258,7 +1258,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
|
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
|
||||||
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
|
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
|
||||||
@@ -364,7 +364,7 @@ static int stm32_dwmac_probe(struct plat
|
@@ -366,7 +366,7 @@ static int stm32_dwmac_probe(struct plat
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -1797,7 +1797,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/usb/smsc75xx.c
|
--- a/drivers/net/usb/smsc75xx.c
|
||||||
+++ b/drivers/net/usb/smsc75xx.c
|
+++ b/drivers/net/usb/smsc75xx.c
|
||||||
@@ -757,11 +757,12 @@ static int smsc75xx_ioctl(struct net_dev
|
@@ -759,11 +759,12 @@ static int smsc75xx_ioctl(struct net_dev
|
||||||
|
|
||||||
static void smsc75xx_init_mac_address(struct usbnet *dev)
|
static void smsc75xx_init_mac_address(struct usbnet *dev)
|
||||||
{
|
{
|
||||||
|
@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
#ifdef CONFIG_MODVERSIONS
|
#ifdef CONFIG_MODVERSIONS
|
||||||
|
|
||||||
@@ -3256,9 +3258,11 @@ static int setup_load_info(struct load_i
|
@@ -3267,9 +3269,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)
|
||||||
{
|
{
|
||||||
@ -141,7 +141,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;
|
||||||
|
|
||||||
@@ -3279,6 +3283,7 @@ static int check_modinfo(struct module *
|
@@ -3290,6 +3294,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);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -2505,6 +2505,9 @@ static int mv88e6xxx_setup_port(struct m
|
@@ -2507,6 +2507,9 @@ static int mv88e6xxx_setup_port(struct m
|
||||||
if (dsa_is_cpu_port(ds, port))
|
if (dsa_is_cpu_port(ds, port))
|
||||||
reg = 0;
|
reg = 0;
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
|
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
|
||||||
{
|
{
|
||||||
struct dst_entry *dst = __sk_dst_get(sk);
|
struct dst_entry *dst = __sk_dst_get(sk);
|
||||||
@@ -1763,9 +1776,11 @@ static void __sk_free(struct sock *sk)
|
@@ -1764,9 +1777,11 @@ static void __sk_free(struct sock *sk)
|
||||||
if (likely(sk->sk_net_refcnt))
|
if (likely(sk->sk_net_refcnt))
|
||||||
sock_inuse_add(sock_net(sk), -1);
|
sock_inuse_add(sock_net(sk), -1);
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/core/sock.c
|
--- a/net/core/sock.c
|
||||||
+++ b/net/core/sock.c
|
+++ b/net/core/sock.c
|
||||||
@@ -3671,6 +3671,8 @@ static __net_initdata struct pernet_oper
|
@@ -3672,6 +3672,8 @@ static __net_initdata struct pernet_oper
|
||||||
|
|
||||||
static int __init proto_init(void)
|
static int __init proto_init(void)
|
||||||
{
|
{
|
||||||
@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/net/ipv4/fib_trie.c
|
+++ b/net/ipv4/fib_trie.c
|
||||||
@@ -2848,11 +2848,13 @@ static const struct seq_operations fib_r
|
@@ -2849,11 +2849,13 @@ static const struct seq_operations fib_r
|
||||||
|
|
||||||
int __net_init fib_proc_init(struct net *net)
|
int __net_init fib_proc_init(struct net *net)
|
||||||
{
|
{
|
||||||
@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
fib_triestat_seq_show, NULL))
|
fib_triestat_seq_show, NULL))
|
||||||
goto out2;
|
goto out2;
|
||||||
|
|
||||||
@@ -2863,17 +2865,21 @@ int __net_init fib_proc_init(struct net
|
@@ -2864,17 +2866,21 @@ int __net_init fib_proc_init(struct net
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out3:
|
out3:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/drivers/usb/serial/option.c
|
--- a/drivers/usb/serial/option.c
|
||||||
+++ b/drivers/usb/serial/option.c
|
+++ b/drivers/usb/serial/option.c
|
||||||
@@ -273,6 +273,7 @@ static void option_instat_callback(struc
|
@@ -277,6 +277,7 @@ static void option_instat_callback(struc
|
||||||
#define QUECTEL_PRODUCT_EM061K_LWW 0x6008
|
#define QUECTEL_PRODUCT_EM061K_LWW 0x6008
|
||||||
#define QUECTEL_PRODUCT_EM061K_LCN 0x6009
|
#define QUECTEL_PRODUCT_EM061K_LCN 0x6009
|
||||||
#define QUECTEL_PRODUCT_EC200T 0x6026
|
#define QUECTEL_PRODUCT_EC200T 0x6026
|
||||||
@ -8,7 +8,7 @@
|
|||||||
#define QUECTEL_PRODUCT_RM500K 0x7001
|
#define QUECTEL_PRODUCT_RM500K 0x7001
|
||||||
|
|
||||||
#define CMOTECH_VENDOR_ID 0x16d8
|
#define CMOTECH_VENDOR_ID 0x16d8
|
||||||
@@ -1234,6 +1235,7 @@ static const struct usb_device_id option
|
@@ -1242,6 +1243,7 @@ static const struct usb_device_id option
|
||||||
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200U, 0xff, 0, 0) },
|
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200U, 0xff, 0, 0) },
|
||||||
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) },
|
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) },
|
||||||
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) },
|
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) },
|
||||||
|
@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
|
|
||||||
--- a/drivers/mtd/ubi/build.c
|
--- a/drivers/mtd/ubi/build.c
|
||||||
+++ b/drivers/mtd/ubi/build.c
|
+++ b/drivers/mtd/ubi/build.c
|
||||||
@@ -1177,6 +1177,73 @@ static struct mtd_info * __init open_mtd
|
@@ -1184,6 +1184,73 @@ static struct mtd_info * __init open_mtd
|
||||||
return mtd;
|
return mtd;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
static int __init ubi_init(void)
|
static int __init ubi_init(void)
|
||||||
{
|
{
|
||||||
int err, i, k;
|
int err, i, k;
|
||||||
@@ -1260,6 +1327,12 @@ static int __init ubi_init(void)
|
@@ -1267,6 +1334,12 @@ static int __init ubi_init(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
+MODULE_ALIAS("nf-flow-table-hw");
|
+MODULE_ALIAS("nf-flow-table-hw");
|
||||||
--- a/net/netfilter/nf_tables_api.c
|
--- a/net/netfilter/nf_tables_api.c
|
||||||
+++ b/net/netfilter/nf_tables_api.c
|
+++ b/net/netfilter/nf_tables_api.c
|
||||||
@@ -5888,6 +5888,13 @@ static int nf_tables_flowtable_parse_hoo
|
@@ -5889,6 +5889,13 @@ static int nf_tables_flowtable_parse_hoo
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
|
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
|
||||||
if (!ops)
|
if (!ops)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
@@ -6023,10 +6030,19 @@ static int nf_tables_newflowtable(struct
|
@@ -6024,10 +6031,19 @@ static int nf_tables_newflowtable(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
flowtable->data.type = type;
|
flowtable->data.type = type;
|
||||||
@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|||||||
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
|
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
|
||||||
flowtable);
|
flowtable);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
@@ -6149,7 +6165,8 @@ static int nf_tables_fill_flowtable_info
|
@@ -6150,7 +6166,8 @@ static int nf_tables_fill_flowtable_info
|
||||||
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
|
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
|
||||||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
|
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
|
||||||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),
|
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),
|
||||||
|
@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/net/ipv4/fib_trie.c
|
+++ b/net/ipv4/fib_trie.c
|
||||||
@@ -2596,6 +2596,7 @@ static const char *const rtn_type_names[
|
@@ -2597,6 +2597,7 @@ static const char *const rtn_type_names[
|
||||||
[RTN_THROW] = "THROW",
|
[RTN_THROW] = "THROW",
|
||||||
[RTN_NAT] = "NAT",
|
[RTN_NAT] = "NAT",
|
||||||
[RTN_XRESOLVE] = "XRESOLVE",
|
[RTN_XRESOLVE] = "XRESOLVE",
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2171,8 +2171,8 @@ static irqreturn_t mtk_handle_irq_rx(int
|
@@ -2174,8 +2174,8 @@ static irqreturn_t mtk_handle_irq_rx(int
|
||||||
struct mtk_eth *eth = _eth;
|
struct mtk_eth *eth = _eth;
|
||||||
|
|
||||||
if (likely(napi_schedule_prep(ð->rx_napi))) {
|
if (likely(napi_schedule_prep(ð->rx_napi))) {
|
||||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
}
|
}
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
@@ -2183,8 +2183,8 @@ static irqreturn_t mtk_handle_irq_tx(int
|
@@ -2186,8 +2186,8 @@ static irqreturn_t mtk_handle_irq_tx(int
|
||||||
struct mtk_eth *eth = _eth;
|
struct mtk_eth *eth = _eth;
|
||||||
|
|
||||||
if (likely(napi_schedule_prep(ð->tx_napi))) {
|
if (likely(napi_schedule_prep(ð->tx_napi))) {
|
||||||
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
}
|
}
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
@@ -3107,6 +3107,8 @@ static int mtk_probe(struct platform_dev
|
@@ -3110,6 +3110,8 @@ static int mtk_probe(struct platform_dev
|
||||||
* for NAPI to work
|
* for NAPI to work
|
||||||
*/
|
*/
|
||||||
init_dummy_netdev(ð->dummy_dev);
|
init_dummy_netdev(ð->dummy_dev);
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -2676,6 +2676,7 @@ static int mv88e6xxx_setup(struct dsa_sw
|
@@ -2678,6 +2678,7 @@ static int mv88e6xxx_setup(struct dsa_sw
|
||||||
|
|
||||||
chip->ds = ds;
|
chip->ds = ds;
|
||||||
ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);
|
ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -5096,6 +5096,7 @@ static int mv88e6xxx_register_switch(str
|
@@ -5098,6 +5098,7 @@ static int mv88e6xxx_register_switch(str
|
||||||
ds->ops = &mv88e6xxx_switch_ops;
|
ds->ops = &mv88e6xxx_switch_ops;
|
||||||
ds->ageing_time_min = chip->info->age_time_coeff;
|
ds->ageing_time_min = chip->info->age_time_coeff;
|
||||||
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
||||||
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2228,7 +2228,7 @@ static int mtk_start_dma(struct mtk_eth
|
@@ -2231,7 +2231,7 @@ static int mtk_start_dma(struct mtk_eth
|
||||||
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
|
||||||
mtk_w32(eth,
|
mtk_w32(eth,
|
||||||
MTK_TX_WB_DDONE | MTK_TX_DMA_EN |
|
MTK_TX_WB_DDONE | MTK_TX_DMA_EN |
|
||||||
|
@ -79,7 +79,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (mtk_queue_stopped(eth) &&
|
if (mtk_queue_stopped(eth) &&
|
||||||
(atomic_read(&ring->free_count) > ring->thresh))
|
(atomic_read(&ring->free_count) > ring->thresh))
|
||||||
mtk_wake_queue(eth);
|
mtk_wake_queue(eth);
|
||||||
@@ -2164,6 +2179,7 @@ static irqreturn_t mtk_handle_irq_rx(int
|
@@ -2167,6 +2182,7 @@ static irqreturn_t mtk_handle_irq_rx(int
|
||||||
{
|
{
|
||||||
struct mtk_eth *eth = _eth;
|
struct mtk_eth *eth = _eth;
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (likely(napi_schedule_prep(ð->rx_napi))) {
|
if (likely(napi_schedule_prep(ð->rx_napi))) {
|
||||||
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
|
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
|
||||||
__napi_schedule(ð->rx_napi);
|
__napi_schedule(ð->rx_napi);
|
||||||
@@ -2176,6 +2192,7 @@ static irqreturn_t mtk_handle_irq_tx(int
|
@@ -2179,6 +2195,7 @@ static irqreturn_t mtk_handle_irq_tx(int
|
||||||
{
|
{
|
||||||
struct mtk_eth *eth = _eth;
|
struct mtk_eth *eth = _eth;
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (likely(napi_schedule_prep(ð->tx_napi))) {
|
if (likely(napi_schedule_prep(ð->tx_napi))) {
|
||||||
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
|
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
|
||||||
__napi_schedule(ð->tx_napi);
|
__napi_schedule(ð->tx_napi);
|
||||||
@@ -2352,6 +2369,9 @@ static int mtk_stop(struct net_device *d
|
@@ -2355,6 +2372,9 @@ static int mtk_stop(struct net_device *d
|
||||||
napi_disable(ð->tx_napi);
|
napi_disable(ð->tx_napi);
|
||||||
napi_disable(ð->rx_napi);
|
napi_disable(ð->rx_napi);
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
|
||||||
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
|
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
|
||||||
mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
|
mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
|
||||||
@@ -2401,6 +2421,64 @@ err_disable_clks:
|
@@ -2404,6 +2424,64 @@ err_disable_clks:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,7 +170,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
static int mtk_hw_init(struct mtk_eth *eth)
|
static int mtk_hw_init(struct mtk_eth *eth)
|
||||||
{
|
{
|
||||||
int i, val, ret;
|
int i, val, ret;
|
||||||
@@ -2422,9 +2500,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
@@ -2425,9 +2503,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||||
goto err_disable_pm;
|
goto err_disable_pm;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
/* disable delay and normal interrupt */
|
/* disable delay and normal interrupt */
|
||||||
mtk_tx_irq_disable(eth, ~0);
|
mtk_tx_irq_disable(eth, ~0);
|
||||||
mtk_rx_irq_disable(eth, ~0);
|
mtk_rx_irq_disable(eth, ~0);
|
||||||
@@ -2463,11 +2538,10 @@ static int mtk_hw_init(struct mtk_eth *e
|
@@ -2466,11 +2541,10 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||||
/* Enable RX VLan Offloading */
|
/* Enable RX VLan Offloading */
|
||||||
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
|
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
|
||||||
|
|
||||||
@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
mtk_tx_irq_disable(eth, ~0);
|
mtk_tx_irq_disable(eth, ~0);
|
||||||
mtk_rx_irq_disable(eth, ~0);
|
mtk_rx_irq_disable(eth, ~0);
|
||||||
|
|
||||||
@@ -2968,6 +3042,13 @@ static int mtk_probe(struct platform_dev
|
@@ -2971,6 +3045,13 @@ static int mtk_probe(struct platform_dev
|
||||||
spin_lock_init(ð->page_lock);
|
spin_lock_init(ð->page_lock);
|
||||||
spin_lock_init(ð->tx_irq_lock);
|
spin_lock_init(ð->tx_irq_lock);
|
||||||
spin_lock_init(ð->rx_irq_lock);
|
spin_lock_init(ð->rx_irq_lock);
|
||||||
|
@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
|
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
|
||||||
!eth->netdev[mac]))
|
!eth->netdev[mac]))
|
||||||
@@ -2288,6 +2288,9 @@ static void mtk_gdm_config(struct mtk_et
|
@@ -2291,6 +2291,9 @@ static void mtk_gdm_config(struct mtk_et
|
||||||
|
|
||||||
val |= config;
|
val |= config;
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+mtk_eth-y := mtk_eth_soc.o mtk_sgmii.o mtk_eth_path.o mtk_ppe.o
|
+mtk_eth-y := mtk_eth_soc.o mtk_sgmii.o mtk_eth_path.o mtk_ppe.o
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2321,12 +2321,17 @@ static int mtk_open(struct net_device *d
|
@@ -2324,12 +2324,17 @@ static int mtk_open(struct net_device *d
|
||||||
|
|
||||||
/* we run 2 netdevs on the same dma ring so we only bring it up once */
|
/* we run 2 netdevs on the same dma ring so we only bring it up once */
|
||||||
if (!refcount_read(ð->dma_refcnt)) {
|
if (!refcount_read(ð->dma_refcnt)) {
|
||||||
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
napi_enable(ð->tx_napi);
|
napi_enable(ð->tx_napi);
|
||||||
napi_enable(ð->rx_napi);
|
napi_enable(ð->rx_napi);
|
||||||
@@ -2396,6 +2401,9 @@ static int mtk_stop(struct net_device *d
|
@@ -2399,6 +2404,9 @@ static int mtk_stop(struct net_device *d
|
||||||
|
|
||||||
mtk_dma_free(eth);
|
mtk_dma_free(eth);
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3182,6 +3190,13 @@ static int mtk_probe(struct platform_dev
|
@@ -3185,6 +3193,13 @@ static int mtk_probe(struct platform_dev
|
||||||
goto err_free_dev;
|
goto err_free_dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
for (i = 0; i < MTK_MAX_DEVS; i++) {
|
for (i = 0; i < MTK_MAX_DEVS; i++) {
|
||||||
if (!eth->netdev[i])
|
if (!eth->netdev[i])
|
||||||
continue;
|
continue;
|
||||||
@@ -3258,6 +3273,7 @@ static const struct mtk_soc_data mt7621_
|
@@ -3261,6 +3276,7 @@ static const struct mtk_soc_data mt7621_
|
||||||
.hw_features = MTK_HW_FEATURES,
|
.hw_features = MTK_HW_FEATURES,
|
||||||
.required_clks = MT7621_CLKS_BITMAP,
|
.required_clks = MT7621_CLKS_BITMAP,
|
||||||
.required_pctl = false,
|
.required_pctl = false,
|
||||||
@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mtk_soc_data mt7622_data = {
|
static const struct mtk_soc_data mt7622_data = {
|
||||||
@@ -3266,6 +3282,7 @@ static const struct mtk_soc_data mt7622_
|
@@ -3269,6 +3285,7 @@ static const struct mtk_soc_data mt7622_
|
||||||
.hw_features = MTK_HW_FEATURES,
|
.hw_features = MTK_HW_FEATURES,
|
||||||
.required_clks = MT7622_CLKS_BITMAP,
|
.required_clks = MT7622_CLKS_BITMAP,
|
||||||
.required_pctl = false,
|
.required_pctl = false,
|
||||||
|
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
skip_rx:
|
skip_rx:
|
||||||
ring->data[idx] = new_data;
|
ring->data[idx] = new_data;
|
||||||
@@ -2899,6 +2905,25 @@ static int mtk_set_rxnfc(struct net_devi
|
@@ -2902,6 +2908,25 @@ static int mtk_set_rxnfc(struct net_devi
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
static const struct ethtool_ops mtk_ethtool_ops = {
|
static const struct ethtool_ops mtk_ethtool_ops = {
|
||||||
.get_link_ksettings = mtk_get_link_ksettings,
|
.get_link_ksettings = mtk_get_link_ksettings,
|
||||||
.set_link_ksettings = mtk_set_link_ksettings,
|
.set_link_ksettings = mtk_set_link_ksettings,
|
||||||
@@ -2930,6 +2955,7 @@ static const struct net_device_ops mtk_n
|
@@ -2933,6 +2958,7 @@ static const struct net_device_ops mtk_n
|
||||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||||
.ndo_poll_controller = mtk_poll_controller,
|
.ndo_poll_controller = mtk_poll_controller,
|
||||||
#endif
|
#endif
|
||||||
@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
|
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
|
||||||
@@ -3195,6 +3221,10 @@ static int mtk_probe(struct platform_dev
|
@@ -3198,6 +3224,10 @@ static int mtk_probe(struct platform_dev
|
||||||
eth->base + MTK_ETH_PPE_BASE, 2);
|
eth->base + MTK_ETH_PPE_BASE, 2);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_free_dev;
|
goto err_free_dev;
|
||||||
|
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
||||||
* device with a broken_parity_status to allow PCI scanning code to "skip"
|
* device with a broken_parity_status to allow PCI scanning code to "skip"
|
||||||
@@ -3323,6 +3324,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
@@ -3325,6 +3326,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
|
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
|
||||||
* To work around this, query the size it should be configured to by the
|
* To work around this, query the size it should be configured to by the
|
||||||
@@ -3348,6 +3351,8 @@ static void quirk_intel_ntb(struct pci_d
|
@@ -3350,6 +3353,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
|
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
|
||||||
* though no one is handling them (e.g., if the i915 driver is never
|
* though no one is handling them (e.g., if the i915 driver is never
|
||||||
@@ -3386,6 +3391,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
@@ -3388,6 +3393,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
/**
|
/**
|
||||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||||
* @tf: Target ATA taskfile
|
* @tf: Target ATA taskfile
|
||||||
@@ -5159,6 +5172,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
@@ -5172,6 +5185,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||||
if (tag < 0)
|
if (tag < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
|
|
||||||
qc = __ata_qc_from_tag(ap, tag);
|
qc = __ata_qc_from_tag(ap, tag);
|
||||||
qc->tag = qc->hw_tag = tag;
|
qc->tag = qc->hw_tag = tag;
|
||||||
@@ -6095,6 +6111,9 @@ struct ata_port *ata_port_alloc(struct a
|
@@ -6108,6 +6124,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||||
ap->stats.unhandled_irq = 1;
|
ap->stats.unhandled_irq = 1;
|
||||||
ap->stats.idle_irq = 1;
|
ap->stats.idle_irq = 1;
|
||||||
#endif
|
#endif
|
||||||
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
ata_sff_port_init(ap);
|
ata_sff_port_init(ap);
|
||||||
|
|
||||||
return ap;
|
return ap;
|
||||||
@@ -6130,6 +6149,12 @@ static void ata_host_release(struct kref
|
@@ -6143,6 +6162,12 @@ static void ata_host_release(struct kref
|
||||||
|
|
||||||
kfree(ap->pmp_link);
|
kfree(ap->pmp_link);
|
||||||
kfree(ap->slave_link);
|
kfree(ap->slave_link);
|
||||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
kfree(ap);
|
kfree(ap);
|
||||||
host->ports[i] = NULL;
|
host->ports[i] = NULL;
|
||||||
}
|
}
|
||||||
@@ -6593,7 +6618,23 @@ int ata_host_register(struct ata_host *h
|
@@ -6606,7 +6631,23 @@ int ata_host_register(struct ata_host *h
|
||||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||||
host->ports[i]->local_port_no = i + 1;
|
host->ports[i]->local_port_no = i + 1;
|
||||||
}
|
}
|
||||||
@ -134,7 +134,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Define if arch has non-standard setup. This is a _PCI_ standard
|
* Define if arch has non-standard setup. This is a _PCI_ standard
|
||||||
@@ -882,6 +885,12 @@ struct ata_port {
|
@@ -886,6 +889,12 @@ struct ata_port {
|
||||||
#ifdef CONFIG_ATA_ACPI
|
#ifdef CONFIG_ATA_ACPI
|
||||||
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
|
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
|
||||||
#endif
|
#endif
|
||||||
|
@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
static int mtk_msg_level = -1;
|
static int mtk_msg_level = -1;
|
||||||
module_param_named(msg_level, mtk_msg_level, int, 0);
|
module_param_named(msg_level, mtk_msg_level, int, 0);
|
||||||
@@ -3142,6 +3143,22 @@ static int mtk_probe(struct platform_dev
|
@@ -3145,6 +3146,22 @@ static int mtk_probe(struct platform_dev
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com>
|
|||||||
writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) |
|
writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) |
|
||||||
PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(24) |
|
PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(24) |
|
||||||
PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(34),
|
PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(34),
|
||||||
@@ -1331,6 +1332,7 @@ err_pm_runtime_put:
|
@@ -1329,6 +1330,7 @@ err_pm_runtime_put:
|
||||||
static const struct of_device_id qcom_pcie_match[] = {
|
static const struct of_device_id qcom_pcie_match[] = {
|
||||||
{ .compatible = "qcom,pcie-apq8084", .data = &ops_1_0_0 },
|
{ .compatible = "qcom,pcie-apq8084", .data = &ops_1_0_0 },
|
||||||
{ .compatible = "qcom,pcie-ipq8064", .data = &ops_2_1_0 },
|
{ .compatible = "qcom,pcie-ipq8064", .data = &ops_2_1_0 },
|
||||||
|
@ -61,7 +61,7 @@ Backported with light changes:
|
|||||||
|
|
||||||
/* Set the Max TLP size to 2K, instead of using default of 4K */
|
/* Set the Max TLP size to 2K, instead of using default of 4K */
|
||||||
writel(CFG_REMOTE_RD_REQ_BRIDGE_SIZE_2K,
|
writel(CFG_REMOTE_RD_REQ_BRIDGE_SIZE_2K,
|
||||||
@@ -1265,6 +1274,10 @@ static int qcom_pcie_probe(struct platfo
|
@@ -1263,6 +1272,10 @@ static int qcom_pcie_probe(struct platfo
|
||||||
goto err_pm_runtime_put;
|
goto err_pm_runtime_put;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1164,7 +1164,7 @@
|
|||||||
#endif
|
#endif
|
||||||
--- a/net/core/neighbour.c
|
--- a/net/core/neighbour.c
|
||||||
+++ b/net/core/neighbour.c
|
+++ b/net/core/neighbour.c
|
||||||
@@ -1204,7 +1204,21 @@ static void neigh_update_hhs(struct neig
|
@@ -1208,7 +1208,21 @@ static void neigh_update_hhs(struct neig
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1186,7 +1186,7 @@
|
|||||||
|
|
||||||
/* Generic update routine.
|
/* Generic update routine.
|
||||||
-- lladdr is new lladdr or NULL, if it is not supplied.
|
-- lladdr is new lladdr or NULL, if it is not supplied.
|
||||||
@@ -1235,6 +1249,7 @@ static int __neigh_update(struct neighbo
|
@@ -1239,6 +1253,7 @@ static int __neigh_update(struct neighbo
|
||||||
int notify = 0;
|
int notify = 0;
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
int update_isrouter = 0;
|
int update_isrouter = 0;
|
||||||
@ -1194,7 +1194,7 @@
|
|||||||
|
|
||||||
trace_neigh_update(neigh, lladdr, new, flags, nlmsg_pid);
|
trace_neigh_update(neigh, lladdr, new, flags, nlmsg_pid);
|
||||||
|
|
||||||
@@ -1244,6 +1259,8 @@ static int __neigh_update(struct neighbo
|
@@ -1248,6 +1263,8 @@ static int __neigh_update(struct neighbo
|
||||||
old = neigh->nud_state;
|
old = neigh->nud_state;
|
||||||
err = -EPERM;
|
err = -EPERM;
|
||||||
|
|
||||||
@ -1203,7 +1203,7 @@
|
|||||||
if (neigh->dead) {
|
if (neigh->dead) {
|
||||||
NL_SET_ERR_MSG(extack, "Neighbor entry is now dead");
|
NL_SET_ERR_MSG(extack, "Neighbor entry is now dead");
|
||||||
new = old;
|
new = old;
|
||||||
@@ -1286,6 +1303,11 @@ static int __neigh_update(struct neighbo
|
@@ -1290,6 +1307,11 @@ static int __neigh_update(struct neighbo
|
||||||
- compare new & old
|
- compare new & old
|
||||||
- if they are different, check override flag
|
- if they are different, check override flag
|
||||||
*/
|
*/
|
||||||
@ -1215,7 +1215,7 @@
|
|||||||
if ((old & NUD_VALID) &&
|
if ((old & NUD_VALID) &&
|
||||||
!memcmp(lladdr, neigh->ha, dev->addr_len))
|
!memcmp(lladdr, neigh->ha, dev->addr_len))
|
||||||
lladdr = neigh->ha;
|
lladdr = neigh->ha;
|
||||||
@@ -1408,8 +1430,11 @@ out:
|
@@ -1412,8 +1434,11 @@ out:
|
||||||
if (((new ^ old) & NUD_PERMANENT) || ext_learn_change)
|
if (((new ^ old) & NUD_PERMANENT) || ext_learn_change)
|
||||||
neigh_update_gc_list(neigh);
|
neigh_update_gc_list(neigh);
|
||||||
|
|
||||||
@ -1250,7 +1250,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_fib_notif:
|
out_fib_notif:
|
||||||
@@ -1609,6 +1615,9 @@ int fib_table_delete(struct net *net, st
|
@@ -1610,6 +1616,9 @@ int fib_table_delete(struct net *net, st
|
||||||
if (fa_to_delete->fa_state & FA_S_ACCESSED)
|
if (fa_to_delete->fa_state & FA_S_ACCESSED)
|
||||||
rt_cache_flush(cfg->fc_nlinfo.nl_net);
|
rt_cache_flush(cfg->fc_nlinfo.nl_net);
|
||||||
|
|
||||||
@ -1260,7 +1260,7 @@
|
|||||||
fib_release_info(fa_to_delete->fa_info);
|
fib_release_info(fa_to_delete->fa_info);
|
||||||
alias_free_mem_rcu(fa_to_delete);
|
alias_free_mem_rcu(fa_to_delete);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -2220,6 +2229,20 @@ void __init fib_trie_init(void)
|
@@ -2221,6 +2230,20 @@ void __init fib_trie_init(void)
|
||||||
0, SLAB_PANIC, NULL);
|
0, SLAB_PANIC, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
esp.tfclen = 0;
|
esp.tfclen = 0;
|
||||||
if (x->tfcpad) {
|
if (x->tfcpad) {
|
||||||
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
|
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
|
||||||
@@ -707,6 +713,7 @@ static int esp_input(struct xfrm_state *
|
@@ -709,6 +715,7 @@ static int esp_input(struct xfrm_state *
|
||||||
u8 *iv;
|
u8 *iv;
|
||||||
struct scatterlist *sg;
|
struct scatterlist *sg;
|
||||||
int err = -EINVAL;
|
int err = -EINVAL;
|
||||||
@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen))
|
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen))
|
||||||
goto out;
|
goto out;
|
||||||
@@ -714,6 +721,12 @@ static int esp_input(struct xfrm_state *
|
@@ -716,6 +723,12 @@ static int esp_input(struct xfrm_state *
|
||||||
if (elen <= 0)
|
if (elen <= 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@ -88,7 +88,7 @@
|
|||||||
esp.tfclen = 0;
|
esp.tfclen = 0;
|
||||||
if (x->tfcpad) {
|
if (x->tfcpad) {
|
||||||
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
|
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
|
||||||
@@ -602,6 +608,7 @@ static int esp6_input(struct xfrm_state
|
@@ -604,6 +610,7 @@ static int esp6_input(struct xfrm_state
|
||||||
__be32 *seqhi;
|
__be32 *seqhi;
|
||||||
u8 *iv;
|
u8 *iv;
|
||||||
struct scatterlist *sg;
|
struct scatterlist *sg;
|
||||||
@ -96,7 +96,7 @@
|
|||||||
|
|
||||||
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) {
|
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
@@ -613,6 +620,12 @@ static int esp6_input(struct xfrm_state
|
@@ -615,6 +622,12 @@ static int esp6_input(struct xfrm_state
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
__u32 flags; /* tunnel flags */
|
__u32 flags; /* tunnel flags */
|
||||||
--- a/include/net/ip_tunnels.h
|
--- a/include/net/ip_tunnels.h
|
||||||
+++ b/include/net/ip_tunnels.h
|
+++ b/include/net/ip_tunnels.h
|
||||||
@@ -533,4 +533,9 @@ static inline void ip_tunnel_info_opts_s
|
@@ -532,4 +532,9 @@ static inline void ip_tunnel_info_opts_s
|
||||||
|
|
||||||
#endif /* CONFIG_INET */
|
#endif /* CONFIG_INET */
|
||||||
|
|
||||||
|
@ -5491,7 +5491,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
unsigned long type);
|
unsigned long type);
|
||||||
--- a/include/linux/pci_ids.h
|
--- a/include/linux/pci_ids.h
|
||||||
+++ b/include/linux/pci_ids.h
|
+++ b/include/linux/pci_ids.h
|
||||||
@@ -1078,6 +1078,12 @@
|
@@ -1079,6 +1079,12 @@
|
||||||
#define PCI_DEVICE_ID_SGI_IOC3 0x0003
|
#define PCI_DEVICE_ID_SGI_IOC3 0x0003
|
||||||
#define PCI_DEVICE_ID_SGI_LITHIUM 0x1002
|
#define PCI_DEVICE_ID_SGI_LITHIUM 0x1002
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
|||||||
#include <linux/platform_data/x86/apple.h>
|
#include <linux/platform_data/x86/apple.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
#include <linux/suspend.h>
|
#include <linux/suspend.h>
|
||||||
@@ -5821,3 +5822,34 @@ static void nvidia_ion_ahci_fixup(struct
|
@@ -5823,3 +5824,34 @@ static void nvidia_ion_ahci_fixup(struct
|
||||||
pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
|
pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
|
||||||
}
|
}
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
/* initialize internal qc */
|
/* initialize internal qc */
|
||||||
qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
|
qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
|
||||||
|
|
||||||
@@ -5166,6 +5174,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
@@ -5179,6 +5187,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||||
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
|
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -25,7 +25,7 @@
|
|||||||
/* libsas case */
|
/* libsas case */
|
||||||
if (ap->flags & ATA_FLAG_SAS_HOST) {
|
if (ap->flags & ATA_FLAG_SAS_HOST) {
|
||||||
tag = ata_sas_allocate_tag(ap);
|
tag = ata_sas_allocate_tag(ap);
|
||||||
@@ -5211,6 +5222,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
@@ -5224,6 +5235,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
||||||
qc->tag = ATA_TAG_POISON;
|
qc->tag = ATA_TAG_POISON;
|
||||||
if (ap->flags & ATA_FLAG_SAS_HOST)
|
if (ap->flags & ATA_FLAG_SAS_HOST)
|
||||||
ata_sas_free_tag(tag, ap);
|
ata_sas_free_tag(tag, ap);
|
||||||
@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
--- a/include/linux/libata.h
|
--- a/include/linux/libata.h
|
||||||
+++ b/include/linux/libata.h
|
+++ b/include/linux/libata.h
|
||||||
@@ -911,6 +911,8 @@ struct ata_port_operations {
|
@@ -915,6 +915,8 @@ struct ata_port_operations {
|
||||||
enum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *qc);
|
enum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *qc);
|
||||||
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
|
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
|
||||||
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
|
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
|
||||||
@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Configuration and exception handling
|
* Configuration and exception handling
|
||||||
@@ -1001,6 +1003,9 @@ struct ata_port_operations {
|
@@ -1005,6 +1007,9 @@ struct ata_port_operations {
|
||||||
void (*phy_reset)(struct ata_port *ap);
|
void (*phy_reset)(struct ata_port *ap);
|
||||||
void (*eng_timeout)(struct ata_port *ap);
|
void (*eng_timeout)(struct ata_port *ap);
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
--- a/drivers/mmc/host/Kconfig
|
--- a/drivers/mmc/host/Kconfig
|
||||||
+++ b/drivers/mmc/host/Kconfig
|
+++ b/drivers/mmc/host/Kconfig
|
||||||
@@ -1019,3 +1019,5 @@ config MMC_SDHCI_AM654
|
@@ -1020,3 +1020,5 @@ config MMC_SDHCI_AM654
|
||||||
If you have a controller with this interface, say Y or M here.
|
If you have a controller with this interface, say Y or M here.
|
||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
@ -14,7 +14,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||||
@@ -2961,6 +2961,7 @@ static const struct net_device_ops mtk_n
|
@@ -2964,6 +2964,7 @@ static const struct net_device_ops mtk_n
|
||||||
|
|
||||||
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
|
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
|
||||||
{
|
{
|
||||||
@ -22,7 +22,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
|
|||||||
const __be32 *_id = of_get_property(np, "reg", NULL);
|
const __be32 *_id = of_get_property(np, "reg", NULL);
|
||||||
struct phylink *phylink;
|
struct phylink *phylink;
|
||||||
int phy_mode, id, err;
|
int phy_mode, id, err;
|
||||||
@@ -3053,6 +3054,9 @@ static int mtk_add_mac(struct mtk_eth *e
|
@@ -3056,6 +3057,9 @@ static int mtk_add_mac(struct mtk_eth *e
|
||||||
|
|
||||||
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN;
|
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
if (mtk_offload_check_rx(eth, skb, trxd.rxd4) == 0) {
|
if (mtk_offload_check_rx(eth, skb, trxd.rxd4) == 0) {
|
||||||
skb_record_rx_queue(skb, 0);
|
skb_record_rx_queue(skb, 0);
|
||||||
napi_gro_receive(napi, skb);
|
napi_gro_receive(napi, skb);
|
||||||
@@ -2064,19 +2076,32 @@ static netdev_features_t mtk_fix_feature
|
@@ -2067,19 +2079,32 @@ static netdev_features_t mtk_fix_feature
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,7 @@
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2340,6 +2365,15 @@ static int mtk_open(struct net_device *d
|
@@ -2343,6 +2368,15 @@ static int mtk_open(struct net_device *d
|
||||||
|
|
||||||
mtk_gdm_config(eth, gdm_config);
|
mtk_gdm_config(eth, gdm_config);
|
||||||
|
|
||||||
@ -75,7 +75,7 @@
|
|||||||
napi_enable(ð->tx_napi);
|
napi_enable(ð->tx_napi);
|
||||||
napi_enable(ð->rx_napi);
|
napi_enable(ð->rx_napi);
|
||||||
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
|
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
|
||||||
@@ -2514,7 +2548,7 @@ static void mtk_dim_tx(struct work_struc
|
@@ -2517,7 +2551,7 @@ static void mtk_dim_tx(struct work_struc
|
||||||
|
|
||||||
static int mtk_hw_init(struct mtk_eth *eth)
|
static int mtk_hw_init(struct mtk_eth *eth)
|
||||||
{
|
{
|
||||||
@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
if (test_and_set_bit(MTK_HW_INIT, ð->state))
|
if (test_and_set_bit(MTK_HW_INIT, ð->state))
|
||||||
return 0;
|
return 0;
|
||||||
@@ -2562,12 +2596,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
@@ -2565,12 +2599,6 @@ static int mtk_hw_init(struct mtk_eth *e
|
||||||
for (i = 0; i < MTK_MAC_COUNT; i++)
|
for (i = 0; i < MTK_MAC_COUNT; i++)
|
||||||
mtk_w32(eth, MAC_MCR_FORCE_LINK_DOWN, MTK_MAC_MCR(i));
|
mtk_w32(eth, MAC_MCR_FORCE_LINK_DOWN, MTK_MAC_MCR(i));
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
#include <linux/crc32.h>
|
#include <linux/crc32.h>
|
||||||
#include <linux/if_vlan.h>
|
#include <linux/if_vlan.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
@@ -4338,6 +4339,22 @@ static void rtl_tally_reset(struct r8152
|
@@ -4341,6 +4342,22 @@ static void rtl_tally_reset(struct r8152
|
||||||
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
static void r8152b_init(struct r8152 *tp)
|
static void r8152b_init(struct r8152 *tp)
|
||||||
{
|
{
|
||||||
u32 ocp_data;
|
u32 ocp_data;
|
||||||
@@ -4379,6 +4396,8 @@ static void r8152b_init(struct r8152 *tp
|
@@ -4382,6 +4399,8 @@ static void r8152b_init(struct r8152 *tp
|
||||||
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
||||||
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
||||||
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
||||||
@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void r8153_init(struct r8152 *tp)
|
static void r8153_init(struct r8152 *tp)
|
||||||
@@ -4513,6 +4532,8 @@ static void r8153_init(struct r8152 *tp)
|
@@ -4516,6 +4535,8 @@ static void r8153_init(struct r8152 *tp)
|
||||||
tp->coalesce = COALESCE_SLOW;
|
tp->coalesce = COALESCE_SLOW;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void r8153b_init(struct r8152 *tp)
|
static void r8153b_init(struct r8152 *tp)
|
||||||
@@ -4589,6 +4610,8 @@ static void r8153b_init(struct r8152 *tp
|
@@ -4592,6 +4613,8 @@ static void r8153b_init(struct r8152 *tp
|
||||||
rtl_tally_reset(tp);
|
rtl_tally_reset(tp);
|
||||||
|
|
||||||
tp->coalesce = 15000; /* 15 us */
|
tp->coalesce = 15000; /* 15 us */
|
||||||
|
@ -11,7 +11,7 @@ Applies to vanilla kernel 3.9.4.
|
|||||||
===============================================================================
|
===============================================================================
|
||||||
--- a/arch/um/drivers/Kconfig
|
--- a/arch/um/drivers/Kconfig
|
||||||
+++ b/arch/um/drivers/Kconfig
|
+++ b/arch/um/drivers/Kconfig
|
||||||
@@ -146,6 +146,20 @@ config UML_NET
|
@@ -136,6 +136,20 @@ config UML_NET
|
||||||
enable at least one of the following transport options to actually
|
enable at least one of the following transport options to actually
|
||||||
make use of UML networking.
|
make use of UML networking.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user