]> git.droids-corp.org - dpdk.git/commitdiff
net/txgbe: fix KR auto-negotiation
authorJiawen Wu <jiawenwu@trustnetic.com>
Wed, 9 Feb 2022 10:42:13 +0000 (18:42 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 11 Feb 2022 12:49:13 +0000 (13:49 +0100)
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: stable@dpdk.org
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
drivers/net/txgbe/base/txgbe_phy.c

index 3f5229ecc2c0ac1412d37953f540b76c0fcb5e8c..3fb929f37a4d21456c1c976c44647c65bb9fc8c2 100644 (file)
@@ -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);