Subject: Re: [PATCH net-next v5 1/8] net: phylink: Document MAC_(A)SYM_PAUSE

From: "Russell King (Oracle)" <[email-masked]>
Date: Wed, 7 Sep 2022 10:38:37 +0100

On Tue, Sep 06, 2022 at 12:18:45PM -0400, Sean Anderson wrote:
> This documents the possible MLO_PAUSE_* settings which can result from
> different combinations of MLO_(A)SYM_PAUSE. These are more-or-less a
> direct consequence of IEEE 802.3 Table 28B-2.
> 
> Signed-off-by: Sean Anderson <[email-masked]>
> ---
> 
> (no changes since v3)
> 
> Changes in v3:
> - New
> 
>  include/linux/phylink.h | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/include/linux/phylink.h b/include/linux/phylink.h
> index 6d06896fc20d..a431a0b0d217 100644
> --- a/include/linux/phylink.h
> +++ b/include/linux/phylink.h
> @@ -21,6 +21,22 @@ enum {
>  	MLO_AN_FIXED,	/* Fixed-link mode */
>  	MLO_AN_INBAND,	/* In-band protocol */
>  
> +	/* MAC_SYM_PAUSE and MAC_ASYM_PAUSE correspond to the PAUSE and
> +	 * ASM_DIR bits used in autonegotiation, respectively. See IEEE 802.3

"used in our autonegotiation advertisement" would be more clear.

> +	 * Annex 28B for more information.
> +	 *
> +	 * The following table lists the values of MLO_PAUSE_* (aside from
> +	 * MLO_PAUSE_AN) which might be requested depending on the results of
> +	 * autonegotiation or user configuration:
> +	 *
> +	 * MAC_SYM_PAUSE MAC_ASYM_PAUSE Valid pause modes
> +	 * ============= ============== ==============================
> +	 *             0              0 MLO_PAUSE_NONE
> +	 *             0              1 MLO_PAUSE_NONE, MLO_PAUSE_TX
> +	 *             1              0 MLO_PAUSE_NONE, MLO_PAUSE_TXRX
> +	 *             1              1 MLO_PAUSE_NONE, MLO_PAUSE_TXRX,
> +	 *                              MLO_PAUSE_RX

Any of none, tx, txrx and rx can occur with both bits set in the last
case, the tx-only case will be due to user configuration.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!