Help with testing needed [Was: Re: [PATCH 1/3] ramips: ethernet: ralink: mt7620 jumbo frame support]

Petr Štetiar ynezz at true.cz
Sat Feb 19 02:59:08 PST 2022


Hi, can I get `Tested-by:` for this series? Thanks.

Luiz Angelo Daros de Luca <luizluca at gmail.com> [2022-01-07 02:37:21]:

> mt7620 can forward jumbo frames. The fe_change_mtu() was already
> compatible except for the GDM_FWD_CFG address.
> 
> An MTU greater than 1500 is required to use DSA tags with a stacked
> switch chip.
> 
> Signed-off-by: Luiz Angelo Daros de Luca <luizluca at gmail.com>
> ---
>  .../files/drivers/net/ethernet/ralink/mtk_eth_soc.c | 13 ++++++++++---
>  .../files/drivers/net/ethernet/ralink/soc_mt7620.c  |  3 ++-
>  2 files changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
> index 8b57a3cc9a..be2ee6ba7f 100644
> --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
> +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
> @@ -1458,6 +1458,13 @@ static int fe_change_mtu(struct net_device *dev, int new_mtu)
>  	struct fe_priv *priv = netdev_priv(dev);
>  	int frag_size, old_mtu;
>  	u32 fwd_cfg;
> +	u32 fwd_reg;
> +
> +#ifdef CONFIG_SOC_MT7620
> +	fwd_reg = MT7620A_GDMA1_FWD_CFG;
> +#else
> +	fwd_reg = FE_GDMA1_FWD_CFG;
> +#endif
>  
>  	old_mtu = dev->mtu;
>  	dev->mtu = new_mtu;
> @@ -1482,7 +1489,7 @@ static int fe_change_mtu(struct net_device *dev, int new_mtu)
>  
>  	fe_stop(dev);
>  	if (!IS_ENABLED(CONFIG_SOC_MT7621)) {
> -		fwd_cfg = fe_r32(FE_GDMA1_FWD_CFG);
> +		fwd_cfg = fe_r32(fwd_reg);
>  		if (new_mtu <= ETH_DATA_LEN) {
>  			fwd_cfg &= ~FE_GDM1_JMB_EN;
>  		} else {
> @@ -1491,7 +1498,7 @@ static int fe_change_mtu(struct net_device *dev, int new_mtu)
>  			fwd_cfg |= (DIV_ROUND_UP(frag_size, 1024) <<
>  			FE_GDM1_JMB_LEN_SHIFT) | FE_GDM1_JMB_EN;
>  		}
> -		fe_w32(fwd_cfg, FE_GDMA1_FWD_CFG);
> +		fe_w32(fwd_cfg, fwd_reg);
>  	}
>  
>  	return fe_open(dev);
> @@ -1610,7 +1617,7 @@ static int fe_probe(struct platform_device *pdev)
>  
>  
>  	if (IS_ENABLED(CONFIG_SOC_MT7620))
> -		netdev->max_mtu = 1508;
> +		netdev->max_mtu = 2048;
>  	if (IS_ENABLED(CONFIG_SOC_MT7621))
>  		netdev->max_mtu = 2048;
>  
> diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c
> index 42685eebc3..8c43e6d78f 100644
> --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c
> +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c
> @@ -345,7 +345,8 @@ static void mt7620_init_data(struct fe_soc_data *data,
>  	struct fe_priv *priv = netdev_priv(netdev);
>  
>  	priv->flags = FE_FLAG_PADDING_64B | FE_FLAG_RX_2B_OFFSET |
> -		FE_FLAG_RX_SG_DMA | FE_FLAG_HAS_SWITCH;
> +		FE_FLAG_RX_SG_DMA | FE_FLAG_HAS_SWITCH |
> +		FE_FLAG_JUMBO_FRAME;
>  
>  	netdev->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM |
>  		NETIF_F_HW_VLAN_CTAG_TX;

-- 
ynezz



More information about the openwrt-devel mailing list