diff options
author | Raju Rangoju <Raju.Rangoju@amd.com> | 2023-01-11 22:58:52 +0530 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-01-12 21:50:37 -0800 |
commit | 926446ae24c03311a480fb96eb78f0ce7ea6d091 (patch) | |
tree | 0026d3fc98b7b30dd1e0c77f33c230f6807f136c /drivers/net/ethernet/amd/xgbe/xgbe.h | |
parent | 579923d84b04abb6cd4cd1fd9974096a2dd1832b (diff) | |
download | linux-stable-926446ae24c03311a480fb96eb78f0ce7ea6d091.tar.gz linux-stable-926446ae24c03311a480fb96eb78f0ce7ea6d091.tar.bz2 linux-stable-926446ae24c03311a480fb96eb78f0ce7ea6d091.zip |
amd-xgbe: Delay AN timeout during KR training
AN restart triggered during KR training not only aborts the KR training
process but also move the HW to unstable state. Driver has to wait upto
500ms or until the KR training is completed before restarting AN cycle.
Fixes: 7c12aa08779c ("amd-xgbe: Move the PHY support into amd-xgbe")
Co-developed-by: Sudheesh Mavila <sudheesh.mavila@amd.com>
Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com>
Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/amd/xgbe/xgbe.h')
-rw-r--r-- | drivers/net/ethernet/amd/xgbe/xgbe.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/amd/xgbe/xgbe.h index 71f24cb47935..7a41367c437d 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -290,6 +290,7 @@ /* Auto-negotiation */ #define XGBE_AN_MS_TIMEOUT 500 #define XGBE_LINK_TIMEOUT 5 +#define XGBE_KR_TRAINING_WAIT_ITER 50 #define XGBE_SGMII_AN_LINK_STATUS BIT(1) #define XGBE_SGMII_AN_LINK_SPEED (BIT(2) | BIT(3)) @@ -1280,6 +1281,7 @@ struct xgbe_prv_data { unsigned int parallel_detect; unsigned int fec_ability; unsigned long an_start; + unsigned long kr_start_time; enum xgbe_an_mode an_mode; /* I2C support */ |