[PATCH net] net: stmmac: dwmac-motorcomm: mask the MISC interrupt

Nicolai Buchwitz nb at tipi-net.de
Mon Nov 2 00:29:18 PST 2026


Hi Magnus

On 2.11.2026 09:09, Magnus Leatti wrote:

> [...]

> Russell, d3265c19b35d ("net: stmmac: xgmac2: disable RBUE in default RX
> interrupt mask") describes a similar storm on xgmac2. Should dwmac4 do
> the same? I have only tested the glue change.

AFAIU RBU is the cause. Dropping it in dwmac4, as Russel did in  
d3265c19b35d,
would cover all multi-MSI users.

> 
>  drivers/net/ethernet/stmicro/stmmac/dwmac-motorcomm.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-motorcomm.c 
> b/drivers/net/ethernet/stmicro/stmmac/dwmac-motorcomm.c
> index 124fcd55a..610d533b9 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-motorcomm.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-motorcomm.c
> @@ -30,6 +30,7 @@
>  #define OOB_WOL_CTRL				0x1010
>  #define  OOB_WOL_CTRL_DIS			BIT(0)
>  #define MGMT_INT_CTRL0				0x1100
> +#define  MGMT_INT_CTRL0_MASK_MISC		BIT(21)

Where is this bit documented? The vendor driver?

>  #define INT_MODERATION				0x1108
>  #define  INT_MODERATION_RX			GENMASK(11, 0)
>  #define  INT_MODERATION_TX			GENMASK(27, 16)
> @@ -172,7 +173,11 @@ static void motorcomm_reset(struct 
> dwmac_motorcomm_priv *priv)
> 
>  static void motorcomm_init(struct dwmac_motorcomm_priv *priv)
>  {
> -	writel(0x0, priv->base + MGMT_INT_CTRL0);
> +	/*
> +	 * Nothing services the MISC source, and once raised it never
> +	 * deasserts, so keep it masked.
> +	 */
> +	writel(MGMT_INT_CTRL0_MASK_MISC, priv->base + MGMT_INT_CTRL0);

Doesn't this turn off the stmmac MAC irq on vector 5 completely? If so,
please mention it in the comment.

Also, does the MSI fallback still get RX/TX interrupts with MISC masked?

> [...]

Thanks,
Nicolai



More information about the linux-arm-kernel mailing list