kernel: bump 6.12 to 6.12.26

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.26

All patches automatically rebased.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18695
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Mieczyslaw Nalewaj
2025-05-03 13:44:04 +02:00
committed by Hauke Mehrtens
parent b0aa7b3da6
commit ecc0f549c4
13 changed files with 52 additions and 52 deletions

View File

@ -39,7 +39,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
mcr |= MAC_MCR_TX_EN | MAC_MCR_RX_EN | MAC_MCR_FORCE_LINK; mcr |= MAC_MCR_TX_EN | MAC_MCR_RX_EN | MAC_MCR_FORCE_LINK;
mtk_w32(mac->hw, mcr, MTK_MAC_MCR(mac->id)); mtk_w32(mac->hw, mcr, MTK_MAC_MCR(mac->id));
} }
@@ -4485,6 +4495,61 @@ static int mtk_set_pauseparam(struct net @@ -4501,6 +4511,61 @@ static int mtk_set_pauseparam(struct net
return phylink_ethtool_set_pauseparam(mac->phylink, pause); return phylink_ethtool_set_pauseparam(mac->phylink, pause);
} }
@ -101,7 +101,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
static u16 mtk_select_queue(struct net_device *dev, struct sk_buff *skb, static u16 mtk_select_queue(struct net_device *dev, struct sk_buff *skb,
struct net_device *sb_dev) struct net_device *sb_dev)
{ {
@@ -4517,6 +4582,8 @@ static const struct ethtool_ops mtk_etht @@ -4533,6 +4598,8 @@ static const struct ethtool_ops mtk_etht
.set_pauseparam = mtk_set_pauseparam, .set_pauseparam = mtk_set_pauseparam,
.get_rxnfc = mtk_get_rxnfc, .get_rxnfc = mtk_get_rxnfc,
.set_rxnfc = mtk_set_rxnfc, .set_rxnfc = mtk_set_rxnfc,
@ -110,7 +110,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
}; };
static const struct net_device_ops mtk_netdev_ops = { static const struct net_device_ops mtk_netdev_ops = {
@@ -4577,6 +4644,8 @@ static int mtk_add_mac(struct mtk_eth *e @@ -4593,6 +4660,8 @@ static int mtk_add_mac(struct mtk_eth *e
} }
mac = netdev_priv(eth->netdev[id]); mac = netdev_priv(eth->netdev[id]);
eth->mac[id] = mac; eth->mac[id] = mac;
@ -121,7 +121,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
mac->of_node = np; mac->of_node = np;
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -453,6 +453,8 @@ @@ -461,6 +461,8 @@
#define MAC_MCR_RX_FIFO_CLR_DIS BIT(12) #define MAC_MCR_RX_FIFO_CLR_DIS BIT(12)
#define MAC_MCR_BACKOFF_EN BIT(9) #define MAC_MCR_BACKOFF_EN BIT(9)
#define MAC_MCR_BACKPR_EN BIT(8) #define MAC_MCR_BACKPR_EN BIT(8)
@ -130,7 +130,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
#define MAC_MCR_FORCE_RX_FC BIT(5) #define MAC_MCR_FORCE_RX_FC BIT(5)
#define MAC_MCR_FORCE_TX_FC BIT(4) #define MAC_MCR_FORCE_TX_FC BIT(4)
#define MAC_MCR_SPEED_1000 BIT(3) #define MAC_MCR_SPEED_1000 BIT(3)
@@ -461,6 +463,15 @@ @@ -469,6 +471,15 @@
#define MAC_MCR_FORCE_LINK BIT(0) #define MAC_MCR_FORCE_LINK BIT(0)
#define MAC_MCR_FORCE_LINK_DOWN (MAC_MCR_FORCE_MODE) #define MAC_MCR_FORCE_LINK_DOWN (MAC_MCR_FORCE_MODE)
@ -146,7 +146,7 @@ Signed-off-by: Qingfang Deng <dqfext@gmail.com>
/* Mac status registers */ /* Mac status registers */
#define MTK_MAC_MSR(x) (0x10108 + (x * 0x100)) #define MTK_MAC_MSR(x) (0x10108 + (x * 0x100))
#define MAC_MSR_EEE1G BIT(7) #define MAC_MSR_EEE1G BIT(7)
@@ -1308,6 +1319,8 @@ struct mtk_mac { @@ -1316,6 +1327,8 @@ struct mtk_mac {
int id; int id;
phy_interface_t interface; phy_interface_t interface;
u8 ppe_idx; u8 ppe_idx;

View File

@ -197,7 +197,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
.port_setup_message_port = mv88e6xxx_setup_message_port, .port_setup_message_port = mv88e6xxx_setup_message_port,
.stats_snapshot = mv88e6320_g1_stats_snapshot, .stats_snapshot = mv88e6320_g1_stats_snapshot,
.stats_set_histogram = mv88e6095_g1_stats_set_histogram, .stats_set_histogram = mv88e6095_g1_stats_set_histogram,
@@ -5454,6 +5487,7 @@ static const struct mv88e6xxx_ops mv88e6 @@ -5460,6 +5493,7 @@ static const struct mv88e6xxx_ops mv88e6
.port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit, .port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit,
.port_disable_pri_override = mv88e6xxx_port_disable_pri_override, .port_disable_pri_override = mv88e6xxx_port_disable_pri_override,
.port_get_cmode = mv88e6352_port_get_cmode, .port_get_cmode = mv88e6352_port_get_cmode,

View File

@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/kernel/module/Kconfig --- a/kernel/module/Kconfig
+++ b/kernel/module/Kconfig +++ b/kernel/module/Kconfig
@@ -401,4 +401,11 @@ config MODULES_TREE_LOOKUP @@ -402,4 +402,11 @@ config MODULES_TREE_LOOKUP
def_bool y def_bool y
depends on PERF_EVENTS || TRACING || CFI_CLANG depends on PERF_EVENTS || TRACING || CFI_CLANG

View File

@ -94,7 +94,7 @@ Signed-off-by: Bo-Cun Chen <bc-bocun.chen@mediatek.com>
static void mtk_hw_reset(struct mtk_eth *eth) static void mtk_hw_reset(struct mtk_eth *eth)
{ {
u32 val; u32 val;
@@ -4363,6 +4416,8 @@ static void mtk_pending_work(struct work @@ -4379,6 +4432,8 @@ static void mtk_pending_work(struct work
rtnl_lock(); rtnl_lock();
set_bit(MTK_RESETTING, &eth->state); set_bit(MTK_RESETTING, &eth->state);
@ -105,7 +105,7 @@ Signed-off-by: Bo-Cun Chen <bc-bocun.chen@mediatek.com>
/* Run again reset preliminary configuration in order to avoid any /* Run again reset preliminary configuration in order to avoid any
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -1183,6 +1183,7 @@ struct mtk_reg_map { @@ -1191,6 +1191,7 @@ struct mtk_reg_map {
u32 rx_ptr; /* rx base pointer */ u32 rx_ptr; /* rx base pointer */
u32 rx_cnt_cfg; /* rx max count configuration */ u32 rx_cnt_cfg; /* rx max count configuration */
u32 qcrx_ptr; /* rx cpu pointer */ u32 qcrx_ptr; /* rx cpu pointer */

View File

@ -44,7 +44,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
#define QUECTEL_VENDOR_ID 0x2c7c #define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */ /* These Quectel products use Quectel's vendor ID */
@@ -1153,6 +1158,11 @@ static const struct usb_device_id option @@ -1154,6 +1159,11 @@ static const struct usb_device_id option
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
@ -56,7 +56,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
/* Quectel products using Qualcomm vendor ID */ /* Quectel products using Qualcomm vendor ID */
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
@@ -1194,6 +1204,11 @@ static const struct usb_device_id option @@ -1195,6 +1205,11 @@ static const struct usb_device_id option
.driver_info = ZLP }, .driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) }, .driver_info = RSVD(4) },

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.12 = .25 LINUX_VERSION-6.12 = .26
LINUX_KERNEL_HASH-6.12.25 = c8af780f6f613ca24622116e4c512a764335ab66e75c6643003c16e49a8e3b90 LINUX_KERNEL_HASH-6.12.26 = 402de222c7425893c38102ddd53d2b602c74c2eabcf6631bb0791089c05e3bca

View File

@ -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
@@ -5119,6 +5119,8 @@ static int mtk_probe(struct platform_dev @@ -5135,6 +5135,8 @@ static int mtk_probe(struct platform_dev
dev_err(eth->dev, "failed to allocated dummy device\n"); dev_err(eth->dev, "failed to allocated dummy device\n");
goto err_unreg_netdev; goto err_unreg_netdev;
} }

View File

@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -1336,6 +1336,22 @@ struct mtk_mac { @@ -1344,6 +1344,22 @@ struct mtk_mac {
/* the struct describing the SoC. these are declared in the soc_xyz.c files */ /* the struct describing the SoC. these are declared in the soc_xyz.c files */
extern const struct of_device_id of_mtk_match[]; extern const struct of_device_id of_mtk_match[];
@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static inline bool mtk_is_netsys_v1(struct mtk_eth *eth) static inline bool mtk_is_netsys_v1(struct mtk_eth *eth)
{ {
return eth->soc->version == 1; return eth->soc->version == 1;
@@ -1350,6 +1366,7 @@ static inline bool mtk_is_netsys_v3_or_g @@ -1358,6 +1374,7 @@ static inline bool mtk_is_netsys_v3_or_g
{ {
return eth->soc->version > 2; return eth->soc->version > 2;
} }

View File

@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
netif_tx_stop_all_queues(dev); netif_tx_stop_all_queues(dev);
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -270,7 +270,7 @@ @@ -278,7 +278,7 @@
#define MTK_CHK_DDONE_EN BIT(28) #define MTK_CHK_DDONE_EN BIT(28)
#define MTK_DMAD_WR_WDONE BIT(26) #define MTK_DMAD_WR_WDONE BIT(26)
#define MTK_WCOMP_EN BIT(24) #define MTK_WCOMP_EN BIT(24)

View File

@ -15,7 +15,7 @@ Signed-off-by: Chad Monroe <chad@monroe.io>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -271,6 +271,7 @@ @@ -279,6 +279,7 @@
#define MTK_WCOMP_EN BIT(24) #define MTK_WCOMP_EN BIT(24)
#define MTK_RESV_BUF (0x80 << 16) #define MTK_RESV_BUF (0x80 << 16)
#define MTK_MUTLI_CNT (0x4 << 12) #define MTK_MUTLI_CNT (0x4 << 12)

View File

@ -510,7 +510,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
return 0; return 0;
} }
@@ -4656,6 +4803,7 @@ static const struct net_device_ops mtk_n @@ -4672,6 +4819,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)
{ {
const __be32 *_id = of_get_property(np, "reg", NULL); const __be32 *_id = of_get_property(np, "reg", NULL);
@ -518,7 +518,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
phy_interface_t phy_mode; phy_interface_t phy_mode;
struct phylink *phylink; struct phylink *phylink;
struct mtk_mac *mac; struct mtk_mac *mac;
@@ -4694,16 +4842,41 @@ static int mtk_add_mac(struct mtk_eth *e @@ -4710,16 +4858,41 @@ static int mtk_add_mac(struct mtk_eth *e
mac->id = id; mac->id = id;
mac->hw = eth; mac->hw = eth;
mac->of_node = np; mac->of_node = np;
@ -568,7 +568,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
} }
memset(mac->hwlro_ip, 0, sizeof(mac->hwlro_ip)); memset(mac->hwlro_ip, 0, sizeof(mac->hwlro_ip));
@@ -4786,8 +4959,21 @@ static int mtk_add_mac(struct mtk_eth *e @@ -4802,8 +4975,21 @@ static int mtk_add_mac(struct mtk_eth *e
phy_interface_zero(mac->phylink_config.supported_interfaces); phy_interface_zero(mac->phylink_config.supported_interfaces);
__set_bit(PHY_INTERFACE_MODE_INTERNAL, __set_bit(PHY_INTERFACE_MODE_INTERNAL,
mac->phylink_config.supported_interfaces); mac->phylink_config.supported_interfaces);
@ -590,7 +590,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
phylink = phylink_create(&mac->phylink_config, phylink = phylink_create(&mac->phylink_config,
of_fwnode_handle(mac->of_node), of_fwnode_handle(mac->of_node),
phy_mode, &mtk_phylink_ops); phy_mode, &mtk_phylink_ops);
@@ -4838,6 +5024,26 @@ free_netdev: @@ -4854,6 +5040,26 @@ free_netdev:
return err; return err;
} }
@ -617,7 +617,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
void mtk_eth_set_dma_device(struct mtk_eth *eth, struct device *dma_dev) void mtk_eth_set_dma_device(struct mtk_eth *eth, struct device *dma_dev)
{ {
struct net_device *dev, *tmp; struct net_device *dev, *tmp;
@@ -4984,7 +5190,8 @@ static int mtk_probe(struct platform_dev @@ -5000,7 +5206,8 @@ static int mtk_probe(struct platform_dev
regmap_write(cci, 0, 3); regmap_write(cci, 0, 3);
} }
@ -627,7 +627,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
err = mtk_sgmii_init(eth); err = mtk_sgmii_init(eth);
if (err) if (err)
@@ -5095,6 +5302,24 @@ static int mtk_probe(struct platform_dev @@ -5111,6 +5318,24 @@ static int mtk_probe(struct platform_dev
} }
} }
@ -652,7 +652,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) {
err = devm_request_irq(eth->dev, eth->irq[0], err = devm_request_irq(eth->dev, eth->irq[0],
mtk_handle_irq, 0, mtk_handle_irq, 0,
@@ -5205,6 +5430,11 @@ static void mtk_remove(struct platform_d @@ -5221,6 +5446,11 @@ static void mtk_remove(struct platform_d
mtk_stop(eth->netdev[i]); mtk_stop(eth->netdev[i]);
mac = netdev_priv(eth->netdev[i]); mac = netdev_priv(eth->netdev[i]);
phylink_disconnect_phy(mac->phylink); phylink_disconnect_phy(mac->phylink);
@ -674,7 +674,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#include <linux/rhashtable.h> #include <linux/rhashtable.h>
#include <linux/dim.h> #include <linux/dim.h>
#include <linux/bitfield.h> #include <linux/bitfield.h>
@@ -516,6 +517,21 @@ @@ -524,6 +525,21 @@
#define INTF_MODE_RGMII_1000 (TRGMII_MODE | TRGMII_CENTRAL_ALIGNED) #define INTF_MODE_RGMII_1000 (TRGMII_MODE | TRGMII_CENTRAL_ALIGNED)
#define INTF_MODE_RGMII_10_100 0 #define INTF_MODE_RGMII_10_100 0
@ -696,7 +696,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* GPIO port control registers for GMAC 2*/ /* GPIO port control registers for GMAC 2*/
#define GPIO_OD33_CTRL8 0x4c0 #define GPIO_OD33_CTRL8 0x4c0
#define GPIO_BIAS_CTRL 0xed0 #define GPIO_BIAS_CTRL 0xed0
@@ -541,6 +557,7 @@ @@ -549,6 +565,7 @@
#define SYSCFG0_SGMII_GMAC2 ((3 << 8) & SYSCFG0_SGMII_MASK) #define SYSCFG0_SGMII_GMAC2 ((3 << 8) & SYSCFG0_SGMII_MASK)
#define SYSCFG0_SGMII_GMAC1_V2 BIT(9) #define SYSCFG0_SGMII_GMAC1_V2 BIT(9)
#define SYSCFG0_SGMII_GMAC2_V2 BIT(8) #define SYSCFG0_SGMII_GMAC2_V2 BIT(8)
@ -704,7 +704,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* ethernet subsystem clock register */ /* ethernet subsystem clock register */
@@ -579,6 +596,11 @@ @@ -587,6 +604,11 @@
#define GEPHY_MAC_SEL BIT(1) #define GEPHY_MAC_SEL BIT(1)
/* Top misc registers */ /* Top misc registers */
@ -716,7 +716,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#define USB_PHY_SWITCH_REG 0x218 #define USB_PHY_SWITCH_REG 0x218
#define QPHY_SEL_MASK GENMASK(1, 0) #define QPHY_SEL_MASK GENMASK(1, 0)
#define SGMII_QPHY_SEL 0x2 #define SGMII_QPHY_SEL 0x2
@@ -603,6 +625,8 @@ @@ -611,6 +633,8 @@
#define MT7628_SDM_RBCNT (MT7628_SDM_OFFSET + 0x10c) #define MT7628_SDM_RBCNT (MT7628_SDM_OFFSET + 0x10c)
#define MT7628_SDM_CS_ERR (MT7628_SDM_OFFSET + 0x110) #define MT7628_SDM_CS_ERR (MT7628_SDM_OFFSET + 0x110)
@ -725,7 +725,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#define MTK_FE_CDM1_FSM 0x220 #define MTK_FE_CDM1_FSM 0x220
#define MTK_FE_CDM2_FSM 0x224 #define MTK_FE_CDM2_FSM 0x224
#define MTK_FE_CDM3_FSM 0x238 #define MTK_FE_CDM3_FSM 0x238
@@ -611,6 +635,11 @@ @@ -619,6 +643,11 @@
#define MTK_FE_CDM6_FSM 0x328 #define MTK_FE_CDM6_FSM 0x328
#define MTK_FE_GDM1_FSM 0x228 #define MTK_FE_GDM1_FSM 0x228
#define MTK_FE_GDM2_FSM 0x22C #define MTK_FE_GDM2_FSM 0x22C
@ -737,7 +737,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#define MTK_MAC_FSM(x) (0x1010C + ((x) * 0x100)) #define MTK_MAC_FSM(x) (0x1010C + ((x) * 0x100))
@@ -943,6 +972,8 @@ enum mkt_eth_capabilities { @@ -951,6 +980,8 @@ enum mkt_eth_capabilities {
MTK_RGMII_BIT = 0, MTK_RGMII_BIT = 0,
MTK_TRGMII_BIT, MTK_TRGMII_BIT,
MTK_SGMII_BIT, MTK_SGMII_BIT,
@ -746,7 +746,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
MTK_ESW_BIT, MTK_ESW_BIT,
MTK_GEPHY_BIT, MTK_GEPHY_BIT,
MTK_MUX_BIT, MTK_MUX_BIT,
@@ -963,8 +994,11 @@ enum mkt_eth_capabilities { @@ -971,8 +1002,11 @@ enum mkt_eth_capabilities {
MTK_ETH_MUX_GDM1_TO_GMAC1_ESW_BIT, MTK_ETH_MUX_GDM1_TO_GMAC1_ESW_BIT,
MTK_ETH_MUX_GMAC2_GMAC0_TO_GEPHY_BIT, MTK_ETH_MUX_GMAC2_GMAC0_TO_GEPHY_BIT,
MTK_ETH_MUX_U3_GMAC2_TO_QPHY_BIT, MTK_ETH_MUX_U3_GMAC2_TO_QPHY_BIT,
@ -758,7 +758,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* PATH BITS */ /* PATH BITS */
MTK_ETH_PATH_GMAC1_RGMII_BIT, MTK_ETH_PATH_GMAC1_RGMII_BIT,
@@ -972,14 +1006,21 @@ enum mkt_eth_capabilities { @@ -980,14 +1014,21 @@ enum mkt_eth_capabilities {
MTK_ETH_PATH_GMAC1_SGMII_BIT, MTK_ETH_PATH_GMAC1_SGMII_BIT,
MTK_ETH_PATH_GMAC2_RGMII_BIT, MTK_ETH_PATH_GMAC2_RGMII_BIT,
MTK_ETH_PATH_GMAC2_SGMII_BIT, MTK_ETH_PATH_GMAC2_SGMII_BIT,
@ -780,7 +780,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#define MTK_ESW BIT_ULL(MTK_ESW_BIT) #define MTK_ESW BIT_ULL(MTK_ESW_BIT)
#define MTK_GEPHY BIT_ULL(MTK_GEPHY_BIT) #define MTK_GEPHY BIT_ULL(MTK_GEPHY_BIT)
#define MTK_MUX BIT_ULL(MTK_MUX_BIT) #define MTK_MUX BIT_ULL(MTK_MUX_BIT)
@@ -1002,10 +1043,16 @@ enum mkt_eth_capabilities { @@ -1010,10 +1051,16 @@ enum mkt_eth_capabilities {
BIT_ULL(MTK_ETH_MUX_GMAC2_GMAC0_TO_GEPHY_BIT) BIT_ULL(MTK_ETH_MUX_GMAC2_GMAC0_TO_GEPHY_BIT)
#define MTK_ETH_MUX_U3_GMAC2_TO_QPHY \ #define MTK_ETH_MUX_U3_GMAC2_TO_QPHY \
BIT_ULL(MTK_ETH_MUX_U3_GMAC2_TO_QPHY_BIT) BIT_ULL(MTK_ETH_MUX_U3_GMAC2_TO_QPHY_BIT)
@ -797,7 +797,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* Supported path present on SoCs */ /* Supported path present on SoCs */
#define MTK_ETH_PATH_GMAC1_RGMII BIT_ULL(MTK_ETH_PATH_GMAC1_RGMII_BIT) #define MTK_ETH_PATH_GMAC1_RGMII BIT_ULL(MTK_ETH_PATH_GMAC1_RGMII_BIT)
@@ -1013,8 +1060,13 @@ enum mkt_eth_capabilities { @@ -1021,8 +1068,13 @@ enum mkt_eth_capabilities {
#define MTK_ETH_PATH_GMAC1_SGMII BIT_ULL(MTK_ETH_PATH_GMAC1_SGMII_BIT) #define MTK_ETH_PATH_GMAC1_SGMII BIT_ULL(MTK_ETH_PATH_GMAC1_SGMII_BIT)
#define MTK_ETH_PATH_GMAC2_RGMII BIT_ULL(MTK_ETH_PATH_GMAC2_RGMII_BIT) #define MTK_ETH_PATH_GMAC2_RGMII BIT_ULL(MTK_ETH_PATH_GMAC2_RGMII_BIT)
#define MTK_ETH_PATH_GMAC2_SGMII BIT_ULL(MTK_ETH_PATH_GMAC2_SGMII_BIT) #define MTK_ETH_PATH_GMAC2_SGMII BIT_ULL(MTK_ETH_PATH_GMAC2_SGMII_BIT)
@ -811,7 +811,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#define MTK_GMAC1_RGMII (MTK_ETH_PATH_GMAC1_RGMII | MTK_RGMII) #define MTK_GMAC1_RGMII (MTK_ETH_PATH_GMAC1_RGMII | MTK_RGMII)
#define MTK_GMAC1_TRGMII (MTK_ETH_PATH_GMAC1_TRGMII | MTK_TRGMII) #define MTK_GMAC1_TRGMII (MTK_ETH_PATH_GMAC1_TRGMII | MTK_TRGMII)
@@ -1022,7 +1074,12 @@ enum mkt_eth_capabilities { @@ -1030,7 +1082,12 @@ enum mkt_eth_capabilities {
#define MTK_GMAC2_RGMII (MTK_ETH_PATH_GMAC2_RGMII | MTK_RGMII) #define MTK_GMAC2_RGMII (MTK_ETH_PATH_GMAC2_RGMII | MTK_RGMII)
#define MTK_GMAC2_SGMII (MTK_ETH_PATH_GMAC2_SGMII | MTK_SGMII) #define MTK_GMAC2_SGMII (MTK_ETH_PATH_GMAC2_SGMII | MTK_SGMII)
#define MTK_GMAC2_GEPHY (MTK_ETH_PATH_GMAC2_GEPHY | MTK_GEPHY) #define MTK_GMAC2_GEPHY (MTK_ETH_PATH_GMAC2_GEPHY | MTK_GEPHY)
@ -824,7 +824,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* MUXes present on SoCs */ /* MUXes present on SoCs */
/* 0: GDM1 -> GMAC1, 1: GDM1 -> ESW */ /* 0: GDM1 -> GMAC1, 1: GDM1 -> ESW */
@@ -1041,10 +1098,20 @@ enum mkt_eth_capabilities { @@ -1049,10 +1106,20 @@ enum mkt_eth_capabilities {
(MTK_ETH_MUX_GMAC1_GMAC2_TO_SGMII_RGMII | MTK_MUX | \ (MTK_ETH_MUX_GMAC1_GMAC2_TO_SGMII_RGMII | MTK_MUX | \
MTK_SHARED_SGMII) MTK_SHARED_SGMII)
@ -845,7 +845,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#define MTK_HAS_CAPS(caps, _x) (((caps) & (_x)) == (_x)) #define MTK_HAS_CAPS(caps, _x) (((caps) & (_x)) == (_x))
#define MT7621_CAPS (MTK_GMAC1_RGMII | MTK_GMAC1_TRGMII | \ #define MT7621_CAPS (MTK_GMAC1_RGMII | MTK_GMAC1_TRGMII | \
@@ -1076,8 +1143,12 @@ enum mkt_eth_capabilities { @@ -1084,8 +1151,12 @@ enum mkt_eth_capabilities {
MTK_MUX_GMAC12_TO_GEPHY_SGMII | MTK_QDMA | \ MTK_MUX_GMAC12_TO_GEPHY_SGMII | MTK_QDMA | \
MTK_RSTCTRL_PPE1 | MTK_SRAM) MTK_RSTCTRL_PPE1 | MTK_SRAM)
@ -860,7 +860,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
struct mtk_tx_dma_desc_info { struct mtk_tx_dma_desc_info {
dma_addr_t addr; dma_addr_t addr;
@@ -1325,6 +1396,9 @@ struct mtk_mac { @@ -1333,6 +1404,9 @@ struct mtk_mac {
struct device_node *of_node; struct device_node *of_node;
struct phylink *phylink; struct phylink *phylink;
struct phylink_config phylink_config; struct phylink_config phylink_config;
@ -870,7 +870,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
struct mtk_eth *hw; struct mtk_eth *hw;
struct mtk_hw_stats *hw_stats; struct mtk_hw_stats *hw_stats;
__be32 hwlro_ip[MTK_MAX_LRO_IP_CNT]; __be32 hwlro_ip[MTK_MAX_LRO_IP_CNT];
@@ -1448,6 +1522,19 @@ static inline u32 mtk_get_ib2_multicast_ @@ -1456,6 +1530,19 @@ static inline u32 mtk_get_ib2_multicast_
return MTK_FOE_IB2_MULTICAST; return MTK_FOE_IB2_MULTICAST;
} }
@ -890,7 +890,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* read the hardware status register */ /* read the hardware status register */
void mtk_stats_update_mac(struct mtk_mac *mac); void mtk_stats_update_mac(struct mtk_mac *mac);
@@ -1456,8 +1543,10 @@ u32 mtk_r32(struct mtk_eth *eth, unsigne @@ -1464,8 +1551,10 @@ u32 mtk_r32(struct mtk_eth *eth, unsigne
u32 mtk_m32(struct mtk_eth *eth, u32 mask, u32 set, unsigned int reg); u32 mtk_m32(struct mtk_eth *eth, u32 mask, u32 set, unsigned int reg);
int mtk_gmac_sgmii_path_setup(struct mtk_eth *eth, int mac_id); int mtk_gmac_sgmii_path_setup(struct mtk_eth *eth, int mac_id);

View File

@ -30,7 +30,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
@@ -5465,7 +5465,7 @@ static const struct mtk_soc_data mt2701_ @@ -5481,7 +5481,7 @@ static const struct mtk_soc_data mt2701_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5493,7 +5493,7 @@ static const struct mtk_soc_data mt7621_ @@ -5509,7 +5509,7 @@ static const struct mtk_soc_data mt7621_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5523,7 +5523,7 @@ static const struct mtk_soc_data mt7622_ @@ -5539,7 +5539,7 @@ static const struct mtk_soc_data mt7622_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -57,7 +57,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5552,7 +5552,7 @@ static const struct mtk_soc_data mt7623_ @@ -5568,7 +5568,7 @@ static const struct mtk_soc_data mt7623_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5578,7 +5578,7 @@ static const struct mtk_soc_data mt7629_ @@ -5594,7 +5594,7 @@ static const struct mtk_soc_data mt7629_
.desc_size = sizeof(struct mtk_rx_dma), .desc_size = sizeof(struct mtk_rx_dma),
.irq_done_mask = MTK_RX_DONE_INT, .irq_done_mask = MTK_RX_DONE_INT,
.dma_l4_valid = RX_DMA_L4_VALID, .dma_l4_valid = RX_DMA_L4_VALID,
@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
}, },
@@ -5610,7 +5610,7 @@ static const struct mtk_soc_data mt7981_ @@ -5626,7 +5626,7 @@ static const struct mtk_soc_data mt7981_
.dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_l4_valid = RX_DMA_L4_VALID_V2,
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}, },
}; };
@@ -5640,7 +5640,7 @@ static const struct mtk_soc_data mt7986_ @@ -5656,7 +5656,7 @@ static const struct mtk_soc_data mt7986_
.dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_l4_valid = RX_DMA_L4_VALID_V2,
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,
@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}, },
}; };
@@ -5693,7 +5693,7 @@ static const struct mtk_soc_data rt5350_ @@ -5709,7 +5709,7 @@ static const struct mtk_soc_data rt5350_
.dma_l4_valid = RX_DMA_L4_VALID_PDMA, .dma_l4_valid = RX_DMA_L4_VALID_PDMA,
.dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_max_len = MTK_TX_DMA_BUF_LEN,
.dma_len_offset = 16, .dma_len_offset = 16,

View File

@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help help
--- 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
@@ -4571,6 +4571,7 @@ static int mtk_get_sset_count(struct net @@ -4587,6 +4587,7 @@ static int mtk_get_sset_count(struct net
static void mtk_ethtool_pp_stats(struct mtk_eth *eth, u64 *data) static void mtk_ethtool_pp_stats(struct mtk_eth *eth, u64 *data)
{ {
@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct page_pool_stats stats = {}; struct page_pool_stats stats = {};
int i; int i;
@@ -4583,6 +4584,7 @@ static void mtk_ethtool_pp_stats(struct @@ -4599,6 +4600,7 @@ static void mtk_ethtool_pp_stats(struct
page_pool_get_stats(ring->page_pool, &stats); page_pool_get_stats(ring->page_pool, &stats);
} }
page_pool_ethtool_stats_get(data, &stats); page_pool_ethtool_stats_get(data, &stats);