yolo
authorDavid Bauer <mail@david-bauer.net>
Mon, 18 Mar 2024 02:11:34 +0000 (03:11 +0100)
committerDavid Bauer <mail@david-bauer.net>
Mon, 18 Mar 2024 02:11:34 +0000 (03:11 +0100)
target/linux/mediatek/patches-6.1/997-lynxi-aneg.patch

index 5762a5d2b2e7e493a551937f12968435fc53bf25..2c2c4522f7335477c3b76e68ec41a0ad8e46784a 100644 (file)
@@ -1,11 +1,27 @@
 --- a/drivers/net/pcs/pcs-mtk-lynxi.c
 +++ b/drivers/net/pcs/pcs-mtk-lynxi.c
-@@ -193,6 +193,8 @@ static int mtk_pcs_lynxi_config(struct p
+@@ -148,6 +148,13 @@ static void mtk_pcs_lynxi_get_state(stru
+       regmap_read(mpcs->regmap, SGMSYS_PCS_ADVERTISE, &adv);
+       phylink_mii_c22_pcs_decode_state(state, bmsr, FIELD_GET(SGMII_LPA, adv));
++
++      state->link = !!(bmsr & BMSR_LSTATUS);
++      if (state->link) {
++              state->an_complete = state->link;
++              state->speed = SPEED_1000;
++              state->duplex = DUPLEX_FULL;
++      }
+ }
+ static void mtk_sgmii_reset(struct mtk_pcs_lynxi *mpcs)
+@@ -193,7 +200,9 @@ static int mtk_pcs_lynxi_config(struct p
            interface != PHY_INTERFACE_MODE_2500BASEX) {
                if (interface == PHY_INTERFACE_MODE_SGMII)
                        sgm_mode |= SGMII_SPEED_DUPLEX_AN;
+-              bmcr = BMCR_ANENABLE;
 +              else
 +                      sgm_mode |= BIT(3); /* 1Gbit/s */
-               bmcr = BMCR_ANENABLE;
++              bmcr = 0;
        } else {
                bmcr = 0;
+       }