All patches automatically rebased.
Build system: x86_64
Build-tested: ipq806x/R7800
Signed-off-by: John Audia <therealgraysky@proton.me>
-LINUX_VERSION-5.10 = .121
-LINUX_KERNEL_HASH-5.10.121 = 9044e7b4084afc636ccd7a7fe06439d8941b28613df79f16ce603ccca35292c6
+LINUX_VERSION-5.10 = .122
+LINUX_KERNEL_HASH-5.10.122 = 920bb3110a881b132a8960db8311689dec3c984634d3d93bbaa4b57047740f40
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -4084,14 +4084,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4087,14 +4087,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
return UBI_IO_BAD_HDR_EBADMSG;
--- a/drivers/mtd/ubi/ubi.h
+++ b/drivers/mtd/ubi/ubi.h
-@@ -824,6 +824,7 @@ extern struct mutex ubi_devices_mutex;
+@@ -822,6 +822,7 @@ extern struct mutex ubi_devices_mutex;
extern struct blocking_notifier_head ubi_notifiers;
/* attach.c */
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
-@@ -1470,13 +1470,16 @@ struct nft_trans_chain {
+@@ -1469,13 +1469,16 @@ struct nft_trans_chain {
struct nft_trans_table {
bool update;
struct nft_set *set;
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -891,6 +891,12 @@ static void nf_tables_table_disable(stru
+@@ -892,6 +892,12 @@ static void nf_tables_table_disable(stru
nft_table_disable(net, table, 0);
}
static int nf_tables_updtable(struct nft_ctx *ctx)
{
struct nft_trans *trans;
-@@ -914,19 +920,17 @@ static int nf_tables_updtable(struct nft
+@@ -915,19 +921,17 @@ static int nf_tables_updtable(struct nft
if ((flags & NFT_TABLE_F_DORMANT) &&
!(ctx->table->flags & NFT_TABLE_F_DORMANT)) {
nft_trans_table_update(trans) = true;
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
return 0;
-@@ -7918,11 +7922,10 @@ static int nf_tables_commit(struct net *
+@@ -7910,11 +7914,10 @@ static int nf_tables_commit(struct net *
switch (trans->msg_type) {
case NFT_MSG_NEWTABLE:
if (nft_trans_table_update(trans)) {
} else {
nft_clear(net, trans->ctx.table);
}
-@@ -8135,11 +8138,9 @@ static int __nf_tables_abort(struct net
+@@ -8127,11 +8130,9 @@ static int __nf_tables_abort(struct net
switch (trans->msg_type) {
case NFT_MSG_NEWTABLE:
if (nft_trans_table_update(trans)) {
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
!eth->netdev[mac]))
-@@ -2254,6 +2254,9 @@ static void mtk_gdm_config(struct mtk_et
+@@ -2257,6 +2257,9 @@ static void mtk_gdm_config(struct mtk_et
val |= config;
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2279,12 +2279,17 @@ static int mtk_open(struct net_device *d
+@@ -2282,12 +2282,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 */
if (!refcount_read(ð->dma_refcnt)) {
napi_enable(ð->tx_napi);
napi_enable(ð->rx_napi);
-@@ -2351,6 +2356,9 @@ static int mtk_stop(struct net_device *d
+@@ -2354,6 +2359,9 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth);
return 0;
}
-@@ -3079,6 +3087,13 @@ static int mtk_probe(struct platform_dev
+@@ -3082,6 +3090,13 @@ static int mtk_probe(struct platform_dev
goto err_free_dev;
}
for (i = 0; i < MTK_MAX_DEVS; i++) {
if (!eth->netdev[i])
continue;
-@@ -3153,6 +3168,7 @@ static const struct mtk_soc_data mt7621_
+@@ -3156,6 +3171,7 @@ static const struct mtk_soc_data mt7621_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7621_CLKS_BITMAP,
.required_pctl = false,
};
static const struct mtk_soc_data mt7622_data = {
-@@ -3161,6 +3177,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3164,6 +3180,7 @@ static const struct mtk_soc_data mt7622_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7622_CLKS_BITMAP,
.required_pctl = false,
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2834,6 +2834,7 @@ static const struct net_device_ops mtk_n
+@@ -2837,6 +2837,7 @@ static const struct net_device_ops mtk_n
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = mtk_poll_controller,
#endif
};
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
-@@ -3092,6 +3093,10 @@ static int mtk_probe(struct platform_dev
+@@ -3095,6 +3096,10 @@ static int mtk_probe(struct platform_dev
eth->base + MTK_ETH_PPE_BASE, 2);
if (err)
goto err_free_dev;
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2214,7 +2214,7 @@ static int mtk_start_dma(struct mtk_eth
+@@ -2217,7 +2217,7 @@ static int mtk_start_dma(struct mtk_eth
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
mtk_w32(eth,
MTK_TX_WB_DDONE | MTK_TX_DMA_EN |
if (mtk_queue_stopped(eth) &&
(atomic_read(&ring->free_count) > ring->thresh))
mtk_wake_queue(eth);
-@@ -2150,6 +2165,7 @@ static irqreturn_t mtk_handle_irq_rx(int
+@@ -2153,6 +2168,7 @@ static irqreturn_t mtk_handle_irq_rx(int
{
struct mtk_eth *eth = _eth;
if (likely(napi_schedule_prep(ð->rx_napi))) {
__napi_schedule(ð->rx_napi);
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
-@@ -2162,6 +2178,7 @@ static irqreturn_t mtk_handle_irq_tx(int
+@@ -2165,6 +2181,7 @@ static irqreturn_t mtk_handle_irq_tx(int
{
struct mtk_eth *eth = _eth;
if (likely(napi_schedule_prep(ð->tx_napi))) {
__napi_schedule(ð->tx_napi);
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
-@@ -2346,6 +2363,9 @@ static int mtk_stop(struct net_device *d
+@@ -2349,6 +2366,9 @@ static int mtk_stop(struct net_device *d
napi_disable(ð->tx_napi);
napi_disable(ð->rx_napi);
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
-@@ -2398,6 +2418,64 @@ err_disable_clks:
+@@ -2401,6 +2421,64 @@ err_disable_clks:
return ret;
}
static int mtk_hw_init(struct mtk_eth *eth)
{
int i, val, ret;
-@@ -2419,9 +2497,6 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2422,9 +2500,6 @@ static int mtk_hw_init(struct mtk_eth *e
goto err_disable_pm;
}
/* disable delay and normal interrupt */
mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0);
-@@ -2460,11 +2535,11 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2463,11 +2538,11 @@ static int mtk_hw_init(struct mtk_eth *e
/* Enable RX VLan Offloading */
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0);
-@@ -2969,6 +3044,13 @@ static int mtk_probe(struct platform_dev
+@@ -2972,6 +3047,13 @@ static int mtk_probe(struct platform_dev
spin_lock_init(ð->page_lock);
spin_lock_init(ð->tx_irq_lock);
spin_lock_init(ð->rx_irq_lock);
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2054,25 +2054,22 @@ static int mtk_set_features(struct net_d
+@@ -2057,25 +2057,22 @@ static int mtk_set_features(struct net_d
/* wait for DMA to finish whatever it is doing before we start using it again */
static int mtk_dma_busy_wait(struct mtk_eth *eth)
{
return buf_size;
}
-@@ -2606,6 +2606,35 @@ static void mtk_uninit(struct net_device
+@@ -2609,6 +2609,35 @@ static void mtk_uninit(struct net_device
mtk_rx_irq_disable(eth, ~0);
}
static int mtk_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
struct mtk_mac *mac = netdev_priv(dev);
-@@ -2902,6 +2931,7 @@ static const struct net_device_ops mtk_n
+@@ -2905,6 +2934,7 @@ static const struct net_device_ops mtk_n
.ndo_set_mac_address = mtk_set_mac_address,
.ndo_validate_addr = eth_validate_addr,
.ndo_do_ioctl = mtk_do_ioctl,
.ndo_tx_timeout = mtk_tx_timeout,
.ndo_get_stats64 = mtk_get_stats64,
.ndo_fix_features = mtk_fix_features,
-@@ -3004,7 +3034,10 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3007,7 +3037,10 @@ static int mtk_add_mac(struct mtk_eth *e
eth->netdev[id]->irq = eth->irq[0];
eth->netdev[id]->dev.of_node = np;
ndev->dev_addr);
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
-@@ -1351,7 +1351,6 @@ static int altera_tse_probe(struct platf
+@@ -1355,7 +1355,6 @@ static int altera_tse_probe(struct platf
struct resource *control_port;
struct resource *dma_res;
struct altera_tse_private *priv;
void __iomem *descmap;
const struct of_device_id *of_id = NULL;
-@@ -1528,10 +1527,8 @@ static int altera_tse_probe(struct platf
+@@ -1532,10 +1531,8 @@ static int altera_tse_probe(struct platf
priv->rx_dma_buf_sz = ALTERA_RXDMABUFFER_SIZE;
/* get default MAC address from device tree */
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2580,14 +2580,11 @@ static int __init mtk_init(struct net_de
+@@ -2583,14 +2583,11 @@ static int __init mtk_init(struct net_de
{
struct mtk_mac *mac = netdev_priv(dev);
struct mtk_eth *eth = mac->hw;
--- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
+++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
-@@ -1741,7 +1741,6 @@ static int am65_cpsw_nuss_init_slave_por
+@@ -1742,7 +1742,6 @@ static int am65_cpsw_nuss_init_slave_por
for_each_child_of_node(node, port_np) {
struct am65_cpsw_port *port;
u32 port_id;
/* it is not a slave port node, continue */
-@@ -1820,15 +1819,15 @@ static int am65_cpsw_nuss_init_slave_por
+@@ -1821,15 +1820,15 @@ static int am65_cpsw_nuss_init_slave_por
return ret;
}
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
-@@ -2037,7 +2037,9 @@ static void read_symbols(const char *mod
+@@ -2038,7 +2038,9 @@ static void read_symbols(const char *mod
symname = remove_dot(info.strtab + sym->st_name);
handle_symbol(mod, &info, sym, symname);
}
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
-@@ -2250,8 +2252,10 @@ static void add_header(struct buffer *b,
+@@ -2251,8 +2253,10 @@ static void add_header(struct buffer *b,
buf_printf(b, "\n");
buf_printf(b, "BUILD_SALT;\n");
buf_printf(b, "\n");
buf_printf(b, "\n");
buf_printf(b, "__visible struct module __this_module\n");
buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
-@@ -2268,8 +2272,10 @@ static void add_header(struct buffer *b,
+@@ -2269,8 +2273,10 @@ static void add_header(struct buffer *b,
static void add_intree_flag(struct buffer *b, int is_intree)
{
}
/* Cannot check for assembler */
-@@ -2282,8 +2288,10 @@ static void add_retpoline(struct buffer
+@@ -2283,8 +2289,10 @@ static void add_retpoline(struct buffer
static void add_staging_flag(struct buffer *b, const char *name)
{
}
/**
-@@ -2367,11 +2375,13 @@ static void add_depends(struct buffer *b
+@@ -2368,11 +2376,13 @@ static void add_depends(struct buffer *b
static void add_srcversion(struct buffer *b, struct module *mod)
{
}
static void write_buf(struct buffer *b, const char *fname)
-@@ -2630,7 +2640,9 @@ int main(int argc, char **argv)
+@@ -2631,7 +2641,9 @@ int main(int argc, char **argv)
add_staging_flag(&buf, mod->name);
err |= add_versions(&buf, mod);
add_depends(&buf, mod);
break;
--- a/drivers/mtd/ubi/ubi.h
+++ b/drivers/mtd/ubi/ubi.h
-@@ -782,6 +782,7 @@ struct ubi_attach_info {
+@@ -780,6 +780,7 @@ struct ubi_attach_info {
int mean_ec;
uint64_t ec_sum;
int ec_count;
ring->dma_size * sizeof(*ring->dma),
ring->dma,
ring->phys);
-@@ -2134,7 +2135,7 @@ static void mtk_dma_free(struct mtk_eth
+@@ -2137,7 +2138,7 @@ static void mtk_dma_free(struct mtk_eth
if (eth->netdev[i])
netdev_reset_queue(eth->netdev[i]);
if (eth->scratch_ring) {
MTK_DMA_SIZE * sizeof(struct mtk_tx_dma),
eth->scratch_ring,
eth->phy_scratch_ring);
-@@ -2482,6 +2483,8 @@ static void mtk_dim_tx(struct work_struc
+@@ -2485,6 +2486,8 @@ static void mtk_dim_tx(struct work_struc
static int mtk_hw_init(struct mtk_eth *eth)
{
int i, val, ret;
if (test_and_set_bit(MTK_HW_INIT, ð->state))
-@@ -2494,6 +2497,10 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2497,6 +2500,10 @@ static int mtk_hw_init(struct mtk_eth *e
if (ret)
goto err_disable_pm;
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
ret = device_reset(eth->dev);
if (ret) {
-@@ -3043,6 +3050,35 @@ free_netdev:
+@@ -3046,6 +3053,35 @@ free_netdev:
return err;
}
static int mtk_probe(struct platform_device *pdev)
{
struct device_node *mac_np;
-@@ -3056,6 +3092,7 @@ static int mtk_probe(struct platform_dev
+@@ -3059,6 +3095,7 @@ static int mtk_probe(struct platform_dev
eth->soc = of_device_get_match_data(&pdev->dev);
eth->dev = &pdev->dev;
eth->base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(eth->base))
return PTR_ERR(eth->base);
-@@ -3104,6 +3141,16 @@ static int mtk_probe(struct platform_dev
+@@ -3107,6 +3144,16 @@ static int mtk_probe(struct platform_dev
}
}
static int mtk_msg_level = -1;
module_param_named(msg_level, mtk_msg_level, int, 0);
-@@ -3173,6 +3174,22 @@ static int mtk_probe(struct platform_dev
+@@ -3176,6 +3177,22 @@ static int mtk_probe(struct platform_dev
}
}
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2305,7 +2305,7 @@ static int mtk_open(struct net_device *d
+@@ -2308,7 +2308,7 @@ static int mtk_open(struct net_device *d
if (err)
return err;
gdm_config = MTK_GDMA_TO_PPE;
mtk_gdm_config(eth, gdm_config);
-@@ -2379,7 +2379,7 @@ static int mtk_stop(struct net_device *d
+@@ -2382,7 +2382,7 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth);
if (eth->soc->offload_version)
return 0;
}
-@@ -3265,10 +3265,11 @@ static int mtk_probe(struct platform_dev
+@@ -3268,10 +3268,11 @@ static int mtk_probe(struct platform_dev
}
if (eth->soc->offload_version) {
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
(trxd.rxd2 & RX_DMA_VTAG))
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
-@@ -3265,7 +3271,7 @@ static int mtk_probe(struct platform_dev
+@@ -3268,7 +3274,7 @@ static int mtk_probe(struct platform_dev
}
if (eth->soc->offload_version) {
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2179,8 +2179,8 @@ static irqreturn_t mtk_handle_irq_rx(int
+@@ -2182,8 +2182,8 @@ static irqreturn_t mtk_handle_irq_rx(int
eth->rx_events++;
if (likely(napi_schedule_prep(ð->rx_napi))) {
}
return IRQ_HANDLED;
-@@ -2192,8 +2192,8 @@ static irqreturn_t mtk_handle_irq_tx(int
+@@ -2195,8 +2195,8 @@ static irqreturn_t mtk_handle_irq_tx(int
eth->tx_events++;
if (likely(napi_schedule_prep(ð->tx_napi))) {
}
return IRQ_HANDLED;
-@@ -3300,6 +3300,8 @@ static int mtk_probe(struct platform_dev
+@@ -3303,6 +3303,8 @@ static int mtk_probe(struct platform_dev
* for NAPI to work
*/
init_dummy_netdev(ð->dummy_dev);
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -5485,6 +5485,7 @@ static int mv88e6xxx_register_switch(str
+@@ -5486,6 +5486,7 @@ static int mv88e6xxx_register_switch(str
ds->ops = &mv88e6xxx_switch_ops;
ds->ageing_time_min = chip->info->age_time_coeff;
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
.phylink_mac_config = gswip_phylink_mac_config,
.phylink_mac_link_down = gswip_phylink_mac_link_down,
.phylink_mac_link_up = gswip_phylink_mac_link_up,
-@@ -2040,7 +2115,7 @@ static int gswip_probe(struct platform_d
+@@ -2042,7 +2117,7 @@ static int gswip_probe(struct platform_d
priv->ds->dev = dev;
priv->ds->num_ports = priv->hw_info->max_ports;
priv->ds->priv = priv;
priv->dev = dev;
version = gswip_switch_r(priv, GSWIP_VERSION);
-@@ -2124,10 +2199,19 @@ static int gswip_remove(struct platform_
+@@ -2126,10 +2201,19 @@ static int gswip_remove(struct platform_
static const struct gswip_hw_info gswip_xrx200 = {
.max_ports = 7,
.cpu_port = 6,
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
-@@ -932,6 +932,14 @@ config CMDLINE_FORCE
+@@ -931,6 +931,14 @@ config CMDLINE_FORCE
endchoice
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2955,6 +2955,7 @@ static const struct net_device_ops mtk_n
+@@ -2958,6 +2958,7 @@ static const struct net_device_ops mtk_n
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
{
const __be32 *_id = of_get_property(np, "reg", NULL);
phy_interface_t phy_mode;
struct phylink *phylink;
-@@ -3050,6 +3051,9 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3053,6 +3054,9 @@ static int mtk_add_mac(struct mtk_eth *e
else
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;