eth: fix TXHD2 link issue after resume [1/1]

PD#SWPL-233319

Problem:
After system suspend, due to phy must power off,
TXHD2 phy register reset to default value.

Solution:
Restore phy register after resume.

Verify:
TXHD2-BE311

Change-Id: I40a3dc0636d3c788a7fc245f588270b7f4a205bd
Signed-off-by: Qingpeng Yang <qingpeng.yang@amlogic.com>
This commit is contained in:
Qingpeng Yang
2025-09-28 10:09:23 +00:00
committed by gerrit autosubmit
parent aceb049148
commit 34ccbc35a2
@@ -894,8 +894,6 @@ static int meson8b_resume(struct device *dev)
if (phydev)
phydev->irq_suspended = 0;
ret = stmmac_resume(dev);
if (phydev)
gxl_resume_internal_registers(phydev);
} else {
if (dwmac->data->resume)
dwmac->data->resume(dwmac);
@@ -904,6 +902,13 @@ static int meson8b_resume(struct device *dev)
phydev->irq_suspended = 0;
ret = stmmac_resume(dev);
}
/* only for eth reset or txhd2.
* txhd2: restore register due to PHY must poweroff
*/
if (ee_reset_base || phy_mode == 2) {
if (phydev)
gxl_resume_internal_registers(phydev);
}
}
/*RTC wait linkup*/
pr_info("eth hold wakelock 5s\n");