NVIDIA: SAUCE: net: phy: aquantia: Poll for valid FW ID.

Ethernet link up fails after SC7 resume as ethernet settings are
configured before phy firmware is completely loaded.

Firmware ID will be shown as 0xFFFF if firmware is not yet loaded.
So, add this too in the exit condition of the poll so that poll
won't exit for 0xFFFF and continues till init completion with valid
FW ID.

http://nvbugs/4382502
http://nvbugs/4980644

Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Pohsun Su <pohsuns@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Vishwaroop A <va@nvidia.com>
Acked-by: Noah Wager <noah.wager@canonical.com>
Acked-by: Jacob Martin <jacob.martin@canonical.com>
Signed-off-by: Noah Wager <noah.wager@canonical.com>
This commit is contained in:
Revanth Kumar Uppala
2025-02-19 09:49:30 +00:00
committed by Noah Wager
parent e55ca3c752
commit 888939cc5f
+3 -1
View File
@@ -683,7 +683,9 @@ int aqr_wait_reset_complete(struct phy_device *phydev)
{
int ret, val;
ret = read_poll_timeout(phy_read_mmd, val, val != 0,
ret = read_poll_timeout(phy_read_mmd, val,
((val & VEND1_GLOBAL_FW_ID_MASK) != 0 &&
(val & VEND1_GLOBAL_FW_ID_MASK) != VEND1_GLOBAL_FW_ID_MASK),
AQR_FW_WAIT_SLEEP_US, AQR_FW_WAIT_TIMEOUT_US,
false, phydev, MDIO_MMD_VEND1,
VEND1_GLOBAL_FW_ID);