[net-next,v2,08/22] net: stmmac: rk: convert rk3588 to mask-based interface mode config
Jakub Kicinski
kuba at kernel.org
Mon Jan 26 16:41:00 PST 2026
This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.
For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html
---
net: stmmac: rk: convert rk3588 to mask-based interface mode config
This patch adds a gmac_grf_reg_in_php flag and a rk_write_gmac_grf_reg()
helper to write to either php_grf or grf depending on the SoC. It also
adds an init function for rk3588 to set up the interface mode mask.
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> index 35836ffdfc1d..5bbdcc963430 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
[ ... ]
> @@ -126,6 +127,18 @@ static u32 rk_encode_wm16(u16 val, u16 mask)
> return reg_val;
> }
>
> +static int rk_write_gmac_grf_reg(struct rk_priv_data *bsp_priv, u32 val)
> +{
> + struct regmap *regmap;
> +
> + if (bsp_priv->ops->gmac_grf_reg_in_php)
> + regmap = bsp_priv->php_grf;
> + else
> + regmap = bsp_priv->grf;
> +
> + return regmap_write(bsp_priv->grf, bsp_priv->gmac_grf_reg, val);
^^^^^^^^^^^^^^
The regmap variable is computed based on gmac_grf_reg_in_php but then not
used - the call always writes to bsp_priv->grf instead of regmap. For
rk3588 where gmac_grf_reg_in_php is true, this writes to the wrong
register bank. Should this be regmap_write(regmap, ...) instead?
> +}
[ ... ]
More information about the linux-arm-kernel
mailing list