From: Alexander Duyck Add support for reading 25, 50, and 100G from the PMA interface for a C45 device. By doing this we enable support for future devices that support higher speeds than the current limit of 10G. Signed-off-by: Alexander Duyck --- drivers/net/phy/phy-c45.c | 9 +++++++++ include/uapi/linux/mdio.h | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c index f5e23b53994f..d161fe3fee75 100644 --- a/drivers/net/phy/phy-c45.c +++ b/drivers/net/phy/phy-c45.c @@ -627,6 +627,15 @@ int genphy_c45_read_pma(struct phy_device *phydev) case MDIO_CTRL1_SPEED10G: phydev->speed = SPEED_10000; break; + case MDIO_PMA_CTRL1_SPEED25G: + phydev->speed = SPEED_25000; + break; + case MDIO_PMA_CTRL1_SPEED50G: + phydev->speed = SPEED_50000; + break; + case MDIO_PMA_CTRL1_SPEED100G: + phydev->speed = SPEED_100000; + break; default: phydev->speed = SPEED_UNKNOWN; break; diff --git a/include/uapi/linux/mdio.h b/include/uapi/linux/mdio.h index 9ee6eeae64b8..c32333e1156c 100644 --- a/include/uapi/linux/mdio.h +++ b/include/uapi/linux/mdio.h @@ -123,6 +123,12 @@ */ #define MDIO_CTRL1_SPEED2_5G MDIO_PMA_CTRL1_SPEED2_5G #define MDIO_CTRL1_SPEED5G MDIO_PMA_CTRL1_SPEED5G +/* 100 Gb/s */ +#define MDIO_PMA_CTRL1_SPEED100G (MDIO_CTRL1_SPEEDSELEXT | 0x0c) +/* 25 Gb/s */ +#define MDIO_PMA_CTRL1_SPEED25G (MDIO_CTRL1_SPEEDSELEXT | 0x10) +/* 50 Gb/s */ +#define MDIO_PMA_CTRL1_SPEED50G (MDIO_CTRL1_SPEEDSELEXT | 0x14) /* 2.5 Gb/s */ #define MDIO_PMA_CTRL1_SPEED2_5G (MDIO_CTRL1_SPEEDSELEXT | 0x18) /* 5 Gb/s */