Fix failure to enter auto-negotiation mode on some firmware versions for
KR NICs.

Fixes: f611dada1af8 ("net/txgbe: update link setup process of backplane NICs")
Cc: sta...@dpdk.org

Signed-off-by: Jiawen Wu <jiawe...@trustnetic.com>
---
 drivers/net/txgbe/base/txgbe_phy.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/txgbe/base/txgbe_phy.c 
b/drivers/net/txgbe/base/txgbe_phy.c
index 3f5229ecc2..3fb929f37a 100644
--- a/drivers/net/txgbe/base/txgbe_phy.c
+++ b/drivers/net/txgbe/base/txgbe_phy.c
@@ -1455,6 +1455,10 @@ txgbe_set_link_to_kr(struct txgbe_hw *hw, bool autoneg)
                if (!(hw->devarg.auto_neg == 1)) {
                        wr32_epcs(hw, SR_AN_CTRL, 0);
                        wr32_epcs(hw, VR_AN_KR_MODE_CL, 0);
+               } else {
+                       value = rd32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1);
+                       value &= ~(1 << 6);
+                       wr32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1, value);
                }
                if (hw->devarg.present == 1) {
                        value = rd32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1);
-- 
2.21.0.windows.1



Reply via email to