[PATH,RFC,net-next,6/8] net: ethernet xgbe expand PHY_GBIT_FEAUTRES

Message ID 1536961136-30453-7-git-send-email-andrew@lunn.ch
State RFC
Delegated to: David Miller
Headers show
Series
  • Continue towards using linkmode in phylib
Related show

Commit Message

Andrew Lunn Sept. 14, 2018, 9:38 p.m.
The macro PHY_GBIT_FEAUTRES needs to change into a bitmap in order to
support link_modes. Remove its use from xgde by replacing it with its
definition.

Probably, the current behavior is wrong. It probably should be
ANDing not assigning.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Sergei Shtylyov Sept. 15, 2018, 10:01 a.m. | #1
On 9/15/2018 12:38 AM, Andrew Lunn wrote:

> The macro PHY_GBIT_FEAUTRES needs to change into a bitmap in order to
> support link_modes. Remove its use from xgde by replacing it with its
> definition.
> 
> Probably, the current behavior is wrong. It probably should be
> ANDing not assigning.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
>   drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 10 ++++++----
>   1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> index a7e03e3ecc93..d49e76982453 100644
> --- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> +++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> @@ -878,8 +878,9 @@ static bool xgbe_phy_finisar_phy_quirks(struct xgbe_prv_data *pdata)
>   	phy_write(phy_data->phydev, 0x04, 0x0d01);
>   	phy_write(phy_data->phydev, 0x00, 0x9140);
>   
> -	phy_data->phydev->supported = PHY_GBIT_FEATURES;
> -	phy_data->phydev->advertising = phy_data->phydev->supported;
> +	phy_data->phydev->supported = (PHY_10BT_FEATURES |
> +				       PHY_100BT_FEATURES |
> +				       PHY_1000BT_FEATURES);

    Parens not necessary here.

>   	phy_support_asym_pause(phy_data->phydev);
>   
>   	netif_dbg(pdata, drv, pdata->netdev,
> @@ -950,8 +951,9 @@ static bool xgbe_phy_belfuse_phy_quirks(struct xgbe_prv_data *pdata)
>   	reg = phy_read(phy_data->phydev, 0x00);
>   	phy_write(phy_data->phydev, 0x00, reg & ~0x00800);
>   
> -	phy_data->phydev->supported = PHY_GBIT_FEATURES;
> -	phy_data->phydev->advertising = phy_data->phydev->supported;
> +	phy_data->phydev->supported = (PHY_10BT_FEATURES |
> +				       PHY_100BT_FEATURES |
> +				       PHY_1000BT_FEATURES);

    Here as well.

[...]

MBR, Sergei

Patch

diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
index a7e03e3ecc93..d49e76982453 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
@@ -878,8 +878,9 @@  static bool xgbe_phy_finisar_phy_quirks(struct xgbe_prv_data *pdata)
 	phy_write(phy_data->phydev, 0x04, 0x0d01);
 	phy_write(phy_data->phydev, 0x00, 0x9140);
 
-	phy_data->phydev->supported = PHY_GBIT_FEATURES;
-	phy_data->phydev->advertising = phy_data->phydev->supported;
+	phy_data->phydev->supported = (PHY_10BT_FEATURES |
+				       PHY_100BT_FEATURES |
+				       PHY_1000BT_FEATURES);
 	phy_support_asym_pause(phy_data->phydev);
 
 	netif_dbg(pdata, drv, pdata->netdev,
@@ -950,8 +951,9 @@  static bool xgbe_phy_belfuse_phy_quirks(struct xgbe_prv_data *pdata)
 	reg = phy_read(phy_data->phydev, 0x00);
 	phy_write(phy_data->phydev, 0x00, reg & ~0x00800);
 
-	phy_data->phydev->supported = PHY_GBIT_FEATURES;
-	phy_data->phydev->advertising = phy_data->phydev->supported;
+	phy_data->phydev->supported = (PHY_10BT_FEATURES |
+				       PHY_100BT_FEATURES |
+				       PHY_1000BT_FEATURES);
 	phy_support_asym_pause(phy_data->phydev);
 
 	netif_dbg(pdata, drv, pdata->netdev,