Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

amd-xgbe: let the MAC manage PHY PM

Use the MAC managed PM flag to indicate that MAC driver takes care of
suspending/resuming the PHY, and reset it when the device is brought up.

Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
Link: https://patch.msgid.link/20251123163721.442162-1-Raju.Rangoju@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Raju Rangoju and committed by
Jakub Kicinski
f93505f3 ce69978a

+10 -5
+9 -5
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
··· 1259 1259 1260 1260 udp_tunnel_nic_reset_ntf(netdev); 1261 1261 1262 + /* Reset the phy settings */ 1263 + ret = xgbe_phy_reset(pdata); 1264 + if (ret) 1265 + goto err_txrx; 1266 + 1262 1267 netif_tx_start_all_queues(netdev); 1263 1268 1264 1269 xgbe_start_timers(pdata); ··· 1272 1267 clear_bit(XGBE_STOPPED, &pdata->dev_state); 1273 1268 1274 1269 return 0; 1270 + 1271 + err_txrx: 1272 + hw_if->disable_rx(pdata); 1273 + hw_if->disable_tx(pdata); 1275 1274 1276 1275 err_irqs: 1277 1276 xgbe_free_irqs(pdata); ··· 1582 1573 ret = -ENOMEM; 1583 1574 goto err_dev_wq; 1584 1575 } 1585 - 1586 - /* Reset the phy settings */ 1587 - ret = xgbe_phy_reset(pdata); 1588 - if (ret) 1589 - goto err_an_wq; 1590 1576 1591 1577 /* Enable the clocks */ 1592 1578 ret = clk_prepare_enable(pdata->sysclk);
+1
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
··· 989 989 return ret; 990 990 } 991 991 phy_data->phydev = phydev; 992 + phy_data->phydev->mac_managed_pm = true; 992 993 993 994 xgbe_phy_external_phy_quirks(pdata); 994 995