hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
....@@ -1101,6 +1101,23 @@
11011101 }
11021102 }
11031103
1104
+static void rtl8211F_led_control(struct phy_device *phydev)
1105
+{
1106
+ printk("ben debug:rtl8211F_led_control...1 \n");
1107
+
1108
+ if(!phydev) return;
1109
+ if(phydev->phy_id!=0x001cc916) return; /* only for 8211E*/
1110
+
1111
+ /*switch to extension page44*/
1112
+ phy_write(phydev, 31, 0x0d04);
1113
+//add hc 1000M --> orange
1114
+// 100M --> green
1115
+ phy_write(phydev, 16, 0x6D02);
1116
+//add hc 1000M&100M --> green
1117
+// phy_write(phydev, 16, 0x6C0A);
1118
+ printk("ben debug:rtl8211F_led_control...2 \n");
1119
+}
1120
+
11041121 /**
11051122 * stmmac_init_phy - PHY initialization
11061123 * @dev: net device structure
....@@ -1136,6 +1153,7 @@
11361153 return -ENODEV;
11371154 }
11381155
1156
+ rtl8211F_led_control(phydev);
11391157 ret = phylink_connect_phy(priv->phylink, phydev);
11401158 }
11411159
....@@ -1145,7 +1163,6 @@
11451163 phylink_ethtool_get_wol(priv->phylink, &wol);
11461164 device_set_wakeup_capable(priv->device, !!wol.supported);
11471165 }
1148
-
11491166 return ret;
11501167 }
11511168
....@@ -2345,7 +2362,8 @@
23452362 */
23462363 static void stmmac_check_ether_addr(struct stmmac_priv *priv)
23472364 {
2348
- if (!is_valid_ether_addr(priv->dev->dev_addr)) {
2365
+// if (!is_valid_ether_addr(priv->dev->dev_addr)) {
2366
+ if (1) {
23492367 stmmac_get_umac_addr(priv, priv->hw, priv->dev->dev_addr, 0);
23502368 if (likely(priv->plat->get_eth_addr))
23512369 priv->plat->get_eth_addr(priv->plat->bsp_priv,