From: Ioana Radulescu <ruxandra.radule...@nxp.com>
Date: Wed, 28 Aug 2019 17:08:15 +0300

> Starting with firmware version MC10.18.0, we have support for
> L2 flow control. Asymmetrical configuration (Rx or Tx only) is
> supported, but not pause frame autonegotioation.
> 
> Pause frame configuration is done via ethtool. By default, we start
> with flow control enabled on both Rx and Tx. Changes are propagated
> to hardware through firmware commands, using two flags (PAUSE,
> ASYM_PAUSE) to specify Rx and Tx pause configuration, as follows:
> 
> PAUSE | ASYM_PAUSE | Rx pause | Tx pause
> ----------------------------------------
>   0   |     0      | disabled | disabled
>   0   |     1      | disabled | enabled
>   1   |     0      | enabled  | enabled
>   1   |     1      | enabled  | disabled
> 
> The hardware can automatically send pause frames when the number
> of buffers in the pool goes below a predefined threshold. Due to
> this, flow control is incompatible with Rx frame queue taildrop
> (both mechanisms target the case when processing of ingress
> frames can't keep up with the Rx rate; for large frames, the number
> of buffers in the pool may never get low enough to trigger pause
> frames as long as taildrop is enabled). So we set pause frame
> generation and Rx FQ taildrop as mutually exclusive.
> 
> Signed-off-by: Ioana Radulescu <ruxandra.radule...@nxp.com>
> Reviewed-by: Andrew Lunn <and...@lunn.ch>

Applied.

Reply via email to