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 protected]>
> Signed-off-by: Arun Ramadoss <[email protected]>
> ---
> 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 protected]>"
> #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!