Subject: Re: [RFC PATCH net-next 4/4] net: phy: added master-slave config and cable diagnostics for Lan937x

From: "Russell King (Oracle)" <[email-masked]>
Date: Mon, 28 Feb 2022 14:12:41 +0000

On Mon, Feb 28, 2022 at 07:35:10PM +0530, Arun Ramadoss wrote:
> To configure the Lan937x T1 phy as master or slave using the ethtool -s
> <dev> master-slave <forced-master/forced-slave>, the config_aneg and
> read status functions are added. And for the cable-diagnostics, used the
> lan87xx routines.
> 
> Signed-off-by: Prasanna Vengateshan <[email-masked]>
> Signed-off-by: Arun Ramadoss <[email-masked]>
> ---
>  drivers/net/phy/microchip_t1.c | 75 ++++++++++++++++++++++++++++++++++
>  1 file changed, 75 insertions(+)
> 
> diff --git a/drivers/net/phy/microchip_t1.c b/drivers/net/phy/microchip_t1.c
> index 634a1423182a..3a0d4c4fab0a 100644
> --- a/drivers/net/phy/microchip_t1.c
> +++ b/drivers/net/phy/microchip_t1.c
> @@ -81,6 +81,9 @@
>  #define T1_REG_BANK_SEL			8
>  #define T1_REG_ADDR_MASK		0xFF
>  
> +#define T1_MODE_STAT_REG		0x11
> +#define T1_LINK_UP_MSK			BIT(0)
> +
>  #define DRIVER_AUTHOR	"Nisar Sayed <[email-masked]>"
>  #define DRIVER_DESC	"Microchip LAN87XX/LAN937x T1 PHY driver"
>  
> @@ -435,6 +438,11 @@ static int lan_phy_config_init(struct phy_device *phydev)
>  	if (rc < 0)
>  		phydev_err(phydev, "failed to initialize phy\n");
>  
> +	phydev->duplex = DUPLEX_FULL;
> +	phydev->speed = SPEED_100;
> +	phydev->pause = 0;
> +	phydev->asym_pause = 0;

Shouldn't this be done in lan937x_read_status()?

Have you tested this patch with various invocations of ethtool -s ?
E.g. autoneg on, autoneg off at various forced speeds, both suitable
for the PHY and unsuitable? Are all these sensibly handled?

Thanks.

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