RE: [PATCH] net: fec: allow disable coalescing

From: Wei Fang
Date: Thu Jun 26 2025 - 04:42:15 EST


> On 2025-06-26 10:12, Andrew Lunn wrote:
> > On Thu, Jun 26, 2025 at 02:36:37AM +0000, Wei Fang wrote:
> >>>
> >>> - /* Must be greater than zero to avoid unpredictable behavior */
> >>> - if (!fep->rx_time_itr || !fep->rx_pkts_itr ||
> >>> - !fep->tx_time_itr || !fep->tx_pkts_itr)
> >>> - return;
> >
> > Hi Wei
> >
> > When i see a comment like this being removed, i wounder if there is
> > any danger of side effects? Do you know what is being done here is
> > actually safe, for all the different versions of the FEC which support
> > coalescence?
>
> For reference, this comment is taken in plain from section 11.6.4.1.16.3
> in the i.MX 8M Plus Applications Processor Reference Manual (and is the
> same for the 6UL).
>
> I was also worried about this so I made sure that in any case where
> either of those is zero, the coalescing enable bit (FEC_ITR_EN) is
> explicitly disabled.
>
> fec_enet_itr_coal_set is only ever called if FEC_QUIRK_HAS_COALESCE is
> set and for those models, we expect disabling coalescing via FEC_ITR_EN
> -- and consequently also setting the parameters to zero -- to be
> unproblematic. This is also the reset default.
>

Yes, ICFT and ICTT cannot be set to zero when FEC_ITR_EN is set. But it is
safe to 0 when FEC_ITR_EN is not set.