Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52d1fd99 authored by Iyappan Subramanian's avatar Iyappan Subramanian Committed by David S. Miller
Browse files

drivers: net: xgene: ethtool: Use phy_ethtool_gset and sset



Changed SGMII 1G get_settings to use phy_ethtool_gset.
Changed SGMII 1G set_settings to use phy_ethtool_sset.

Signed-off-by: default avatarIyappan Subramanian <isubramanian@apm.com>
Tested-by: default avatarFushen Chen <fchen@apm.com>
Tested-by: default avatarToan Le <toanle@apm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8c151963
Loading
Loading
Loading
Loading
+19 −3
Original line number Original line Diff line number Diff line
@@ -65,8 +65,15 @@ static int xgene_get_settings(struct net_device *ndev, struct ethtool_cmd *cmd)


		return phy_ethtool_gset(phydev, cmd);
		return phy_ethtool_gset(phydev, cmd);
	} else if (pdata->phy_mode == PHY_INTERFACE_MODE_SGMII) {
	} else if (pdata->phy_mode == PHY_INTERFACE_MODE_SGMII) {
		cmd->supported = SUPPORTED_1000baseT_Full |
		if (pdata->mdio_driver) {
				 SUPPORTED_Autoneg | SUPPORTED_MII;
			if (!phydev)
				return -ENODEV;

			return phy_ethtool_gset(phydev, cmd);
		}

		cmd->supported = SUPPORTED_1000baseT_Full | SUPPORTED_Autoneg |
				 SUPPORTED_MII;
		cmd->advertising = cmd->supported;
		cmd->advertising = cmd->supported;
		ethtool_cmd_speed_set(cmd, SPEED_1000);
		ethtool_cmd_speed_set(cmd, SPEED_1000);
		cmd->duplex = DUPLEX_FULL;
		cmd->duplex = DUPLEX_FULL;
@@ -92,12 +99,21 @@ static int xgene_set_settings(struct net_device *ndev, struct ethtool_cmd *cmd)
	struct phy_device *phydev = pdata->phy_dev;
	struct phy_device *phydev = pdata->phy_dev;


	if (pdata->phy_mode == PHY_INTERFACE_MODE_RGMII) {
	if (pdata->phy_mode == PHY_INTERFACE_MODE_RGMII) {
		if (phydev == NULL)
		if (!phydev)
			return -ENODEV;
			return -ENODEV;


		return phy_ethtool_sset(phydev, cmd);
		return phy_ethtool_sset(phydev, cmd);
	}
	}


	if (pdata->phy_mode == PHY_INTERFACE_MODE_SGMII) {
		if (pdata->mdio_driver) {
			if (!phydev)
				return -ENODEV;

			return phy_ethtool_sset(phydev, cmd);
		}
	}

	return -EINVAL;
	return -EINVAL;
}
}