AQR113c does not correctly report its supported PMA capabilities which includes speeds like 10G/5G/2.5G. Add get_features() to explicitly declare 10G/5G/2.5G/1G support instead of relying on PMA register reads. Signed-off-by: Hongmei Xu --- Changes in v2: - Fix subject prefix to [PATCH net-next] - Limit scope to AQR113C only as AQR113 not tested - Link to v1: https://patch.msgid.link/20260923-net-phy-aqr113c-fix-pma-capability-v1-1-497359310f06@oss.qualcomm.com --- drivers/net/phy/aquantia/aquantia_main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/net/phy/aquantia/aquantia_main.c b/drivers/net/phy/aquantia/aquantia_main.c index e95d391a6dc2..604f5492515d 100644 --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c @@ -1094,6 +1094,18 @@ static int aqr111_get_features(struct phy_device *phydev) return 0; } +static int aqr113c_get_features(struct phy_device *phydev) +{ + /* Generic C45 PMA abilities do not fully describe the PHY's copper + * autonegotiation modes, so add the 10G mode explicitly. + */ + aqr111_get_features(phydev); + linkmode_set_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT, + phydev->supported); + + return 0; +} + static int aqr_gen4_config_init(struct phy_device *phydev) { struct aqr107_priv *priv = phydev->priv; @@ -1444,6 +1456,7 @@ static struct phy_driver aqr_driver[] = { .get_sset_count = aqr107_get_sset_count, .get_strings = aqr107_get_strings, .get_stats = aqr107_get_stats, + .get_features = aqr113c_get_features, .link_change_notify = aqr107_link_change_notify, .led_brightness_set = aqr_phy_led_brightness_set, .led_hw_is_supported = aqr_phy_led_hw_is_supported, --- base-commit: 063510768490d85454a99b27be303aad5efdf624 change-id: 20260917-net-phy-aqr113c-fix-pma-capability-d7d08cbc9879 Best regards, -- Hongmei Xu