Subject: Re: [PATCH net-next v2 2/2] net: phy: DP83822: Add ability to advertise Fiber connection

From: Andrew Lunn <[email-masked]>
Date: Sat, 11 Jul 2020 20:54:21 +0200

> @@ -302,6 +357,48 @@ static int dp83822_config_init(struct phy_device *phydev)
>  		}
>  	}
>  
> +	if (dp83822->fx_enabled) {
> +		err = phy_modify(phydev, MII_DP83822_CTRL_2,
> +				 DP83822_FX_ENABLE, 1);
> +		if (err < 0)
> +			return err;
> +
> +		linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT,
> +				 phydev->supported);
> +		linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT,
> +				 phydev->advertising);
> +
> +		/* Auto neg is not supported in fiber mode */
> +		bmcr = phy_read(phydev, MII_BMCR);
> +		if (bmcr < 0)
> +			return bmcr;
> +
> +		if (bmcr & BMCR_ANENABLE) {
> +			err =  phy_modify(phydev, MII_BMCR, BMCR_ANENABLE, 0);
> +			if (err < 0)
> +				return err;
> +		}
> +		phydev->autoneg = AUTONEG_DISABLE;

You should also be removing ETHTOOL_LINK_MODE_Autoneg_BIT from
phydev->supported, to make it clear autoneg is not supported. Assuming
genphy_read_abilities() cannot figure this out for itself.

			Andrew