Help with testing needed [Was: Re: [PATCH 1/3] ramips: ethernet: ralink: mt7620 jumbo frame support]
Andrey Jr. Melnikov
temnota.am at gmail.com
Thu Mar 24 14:21:28 PDT 2022
Petr Štetiar <ynezz at true.cz> wrote:
> Hi, can I get `Tested-by:` for this series? Thanks.
It simple a) don't apply to master tree; b) not working - MAX_RX_LENGTH constant not
touched, GSW_REG_GMACCR not tweaked for accepting jumbo frames.
> 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;
This chunk is missing in master tree. And never present.
> > 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;
More information about the openwrt-devel
mailing list