Subject: Re: [PATCH v4 1/3] net: phy: bcm54811: New link mode for BroadR-Reach

From: Simon Horman <[email-masked]>
Date: Thu, 6 Jun 2024 10:19:43 +0100

On Tue, Jun 04, 2024 at 03:36:52PM +0200, Kamil Horák - 2N wrote:
> Introduce a new link mode necessary for 10 MBit single-pair
> connection in BroadR-Reach mode on bcm5481x PHY by Broadcom.
> This new link mode, 10baseT1BRR, is known as 1BR10 in the Broadcom
> terminology. Another link mode to be used is 1BR100 and it is already
> present as 100baseT1, because Broadcom's 1BR100 became 100baseT1
> (IEEE 802.3bw).
> 
> Signed-off-by: Kamil Horák - 2N <[email-masked]>
> ---
>  drivers/net/phy/phy-core.c   | 1 +
>  include/uapi/linux/ethtool.h | 1 +
>  net/ethtool/common.c         | 3 +++
>  3 files changed, 5 insertions(+)
> 
> diff --git a/drivers/net/phy/phy-core.c b/drivers/net/phy/phy-core.c
> index 15f349e5995a..4a1972e94107 100644
> --- a/drivers/net/phy/phy-core.c
> +++ b/drivers/net/phy/phy-core.c
> @@ -265,6 +265,7 @@ static const struct phy_setting settings[] = {
>  	PHY_SETTING(     10, FULL,     10baseT1S_Full		),
>  	PHY_SETTING(     10, HALF,     10baseT1S_Half		),
>  	PHY_SETTING(     10, HALF,     10baseT1S_P2MP_Half	),
> +	PHY_SETTING(     10, FULL,     10baseT1BRR_Full		),
>  };
>  #undef PHY_SETTING
>  
> diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
> index 8733a3117902..76813ca5cb1d 100644
> --- a/include/uapi/linux/ethtool.h
> +++ b/include/uapi/linux/ethtool.h
> @@ -1845,6 +1845,7 @@ enum ethtool_link_mode_bit_indices {
>  	ETHTOOL_LINK_MODE_10baseT1S_Full_BIT		 = 99,
>  	ETHTOOL_LINK_MODE_10baseT1S_Half_BIT		 = 100,
>  	ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT	 = 101,
> +	ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT		 = 102,

Hi Kamil,

I will leave a full review to others, but I think that you need to make a
corresponding change to the BUILD_BUG_ON_MSG() towards the top of
phy_speed_to_str().

>  
>  	/* must be last entry */
>  	__ETHTOOL_LINK_MODE_MASK_NBITS

...