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

From: Simon Horman
Date: Thu Jun 06 2024 - 05:21:22 EST


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 <kamilh@xxxxxxxx>
> ---
> 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

...