]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
net: phy: aquantia: remove false 5G and 10G speed ability for AQCS109
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 22 Feb 2019 22:48:14 +0000 (23:48 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 23 Feb 2019 22:12:09 +0000 (14:12 -0800)
AQCS109 belongs to a family of PHY's where certain members don't
support 5G or 10G. However for all members of the family the chip
reports 10G and 5G capability. Therefore remove the not supported
modes for AQCS109.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/aquantia.c

index 34be44d00c1955bea6e3fae5dfe724e71e59635f..9661ef4b40b0002ca54905494585c7dc70083d8f 100644 (file)
@@ -152,6 +152,15 @@ static int aqr_read_status(struct phy_device *phydev)
        return 0;
 }
 
+static int aqcs109_config_init(struct phy_device *phydev)
+{
+       /* AQCS109 belongs to a chip family partially supporting 10G and 5G.
+        * PMA speed ability bits are the same for all members of the family,
+        * AQCS109 however supports speeds up to 2.5G only.
+        */
+       return phy_set_max_speed(phydev, SPEED_2500);
+}
+
 static struct phy_driver aqr_driver[] = {
 {
        PHY_ID_MATCH_MODEL(PHY_ID_AQ1202),
@@ -208,6 +217,7 @@ static struct phy_driver aqr_driver[] = {
        .name           = "Aquantia AQCS109",
        .aneg_done      = genphy_c45_aneg_done,
        .get_features   = genphy_c45_pma_read_abilities,
+       .config_init    = aqcs109_config_init,
        .config_aneg    = aqr_config_aneg,
        .config_intr    = aqr_config_intr,
        .ack_interrupt  = aqr_ack_interrupt,