Re: [PATCH v3 net-next 5/5] net: fec: enable the Jumbo frame support for i.MX8QM
From: Shenwei Wang
Date: Sat Aug 23 2025 - 15:53:53 EST
> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Saturday, August 23, 2025 2:26 PM
> To: Shenwei Wang <shenwei.wang@xxxxxxx>
> Cc: Wei Fang <wei.fang@xxxxxxx>; Andrew Lunn <andrew+netdev@xxxxxxx>;
> David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet
> <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni
> <pabeni@xxxxxxxxxx>; Alexei Starovoitov <ast@xxxxxxxxxx>; Daniel Borkmann
> <daniel@xxxxxxxxxxxxx>; Jesper Dangaard Brouer <hawk@xxxxxxxxxx>; John
> Fastabend <john.fastabend@xxxxxxxxx>; Clark Wang
> <xiaoning.wang@xxxxxxx>; Stanislav Fomichev <sdf@xxxxxxxxxxx>;
> imx@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; dl-
> linux-imx <linux-imx@xxxxxxx>
> Subject: [EXT] Re: [PATCH v3 net-next 5/5] net: fec: enable the Jumbo frame
> support for i.MX8QM
> > - /* enable ENET store and forward mode */
> > - writel(FEC_TXWMRK_STRFWD, fep->hwp + FEC_X_WMRK);
> > +
> > + /* When Jumbo Frame is enabled, the FIFO may not be large enough
> > + * to hold an entire frame. In this case, configure the interface
> > + * to operate in cut-through mode, triggered by the FIFO threshold.
> > + * Otherwise, enable the ENET store-and-forward mode.
> > + */
> > + if (fep->quirks & FEC_QUIRK_JUMBO_FRAME)
> > + writel(0xF, fep->hwp + FEC_X_WMRK);
>
> The quirk indicates the hardware is capable of jumbo frames, not that jumbo
> frames are enabled. Don't you need to compare the mtu with ETH_FRAME_LEN +
> ETH_FCS_LEN to say jumbo is enabled?
>
The comments here do have some confusion. The goal is to enable cut-through mode
when the hardware supports Jumbo frames. But we can limit the scope to enable it
only when MTU is less than 2k bytes.
> Is there a counter or other indication that the FIFO experienced an underflow?
>
There is a Underrun bit in the status field in the TX buffer descriptor. The hardware
supports retransmit frames if high memory latency is encountered due to other
high-priority bus masters.
Thanks,
Shenwei
> Andrew