mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 23:20:50 +07:00
amd-xgbe-phy: Allow more time for Rx/Tx to become ready
The current time range waiting for Rx/Tx to become ready can sometimes be too short if a connection is not present. Increase the number of retries and the sleep to give a bit more time. Also, change level of the message issued from _err to _dbg if Rx/Tx do not become ready since the underlying logic will function as if no link is established and retry eventually. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8c43a2cc75
commit
1fa1f2e098
@ -95,7 +95,7 @@ MODULE_DESCRIPTION("AMD 10GbE (amd-xgbe) PHY driver");
|
||||
#define XNP_MP_FORMATTED (1 << 13)
|
||||
#define XNP_NP_EXCHANGE (1 << 15)
|
||||
|
||||
#define XGBE_PHY_RATECHANGE_COUNT 100
|
||||
#define XGBE_PHY_RATECHANGE_COUNT 500
|
||||
|
||||
#ifndef MDIO_PMA_10GBR_PMD_CTRL
|
||||
#define MDIO_PMA_10GBR_PMD_CTRL 0x0096
|
||||
@ -411,7 +411,7 @@ static void amd_xgbe_phy_serdes_complete_ratechange(struct phy_device *phydev)
|
||||
/* Wait for Rx and Tx ready */
|
||||
wait = XGBE_PHY_RATECHANGE_COUNT;
|
||||
while (wait--) {
|
||||
usleep_range(10, 20);
|
||||
usleep_range(50, 75);
|
||||
|
||||
status = XSIR0_IOREAD(priv, SIR0_STATUS);
|
||||
if (XSIR_GET_BITS(status, SIR0_STATUS, RX_READY) &&
|
||||
@ -419,7 +419,7 @@ static void amd_xgbe_phy_serdes_complete_ratechange(struct phy_device *phydev)
|
||||
return;
|
||||
}
|
||||
|
||||
netdev_err(phydev->attached_dev, "SerDes rx/tx not ready (%#hx)\n",
|
||||
netdev_dbg(phydev->attached_dev, "SerDes rx/tx not ready (%#hx)\n",
|
||||
status);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user