[dpdk-stable] patch 'net/igb: fix PHY status if PHY reset is not blocked' has been queued to LTS release 17.11.10
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Thu Dec 19 15:34:15 CET 2019
Hi,
FYI, your patch has been queued to LTS release 17.11.10
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/21/19. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Thanks.
Luca Boccassi
---
>From 3a35b9f9696eb4448019fe8c25c76148df0e974a Mon Sep 17 00:00:00 2001
From: Shweta Choudaha <shweta.choudaha at att.com>
Date: Thu, 16 May 2019 23:03:31 +0100
Subject: [PATCH] net/igb: fix PHY status if PHY reset is not blocked
[ upstream commit 260dd6952600b5b44d0a1ce70a582116e6bd74fa ]
When PHY reset is blocked as is the case when BMC is connected via NC-SI
do not set GO_LINKD bit in PHY power management register in dev_stop as
this will disconnect the PHY. Also, in dev_close clear the GO_LINKD
bit only if PHY reset is not blocked
Fixes: 3af34dec0b41 ("igb: force phy power up/down")
Signed-off-by: Shweta Choudaha <shweta.choudaha at att.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye at intel.com>
---
drivers/net/e1000/igb_ethdev.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 4378f08209..cef6fded96 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -1557,8 +1557,9 @@ eth_igb_stop(struct rte_eth_dev *dev)
igb_pf_reset_hw(hw);
E1000_WRITE_REG(hw, E1000_WUC, 0);
- /* Set bit for Go Link disconnect */
- if (hw->mac.type >= e1000_82580) {
+ /* Set bit for Go Link disconnect if PHY reset is not blocked */
+ if (hw->mac.type >= e1000_82580 &&
+ (e1000_check_reset_block(hw) != E1000_BLK_PHY_RESET)) {
uint32_t phpm_reg;
phpm_reg = E1000_READ_REG(hw, E1000_82580_PHY_POWER_MGMT);
@@ -1632,8 +1633,9 @@ eth_igb_close(struct rte_eth_dev *dev)
igb_release_manageability(hw);
igb_hw_control_release(hw);
- /* Clear bit for Go Link disconnect */
- if (hw->mac.type >= e1000_82580) {
+ /* Clear bit for Go Link disconnect if PHY reset is not blocked */
+ if (hw->mac.type >= e1000_82580 &&
+ (e1000_check_reset_block(hw) != E1000_BLK_PHY_RESET)) {
uint32_t phpm_reg;
phpm_reg = E1000_READ_REG(hw, E1000_82580_PHY_POWER_MGMT);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-12-19 14:32:30.611022045 +0000
+++ 0108-net-igb-fix-PHY-status-if-PHY-reset-is-not-blocked.patch 2019-12-19 14:32:26.253300760 +0000
@@ -1,15 +1,16 @@
-From 260dd6952600b5b44d0a1ce70a582116e6bd74fa Mon Sep 17 00:00:00 2001
+From 3a35b9f9696eb4448019fe8c25c76148df0e974a Mon Sep 17 00:00:00 2001
From: Shweta Choudaha <shweta.choudaha at att.com>
Date: Thu, 16 May 2019 23:03:31 +0100
Subject: [PATCH] net/igb: fix PHY status if PHY reset is not blocked
+[ upstream commit 260dd6952600b5b44d0a1ce70a582116e6bd74fa ]
+
When PHY reset is blocked as is the case when BMC is connected via NC-SI
do not set GO_LINKD bit in PHY power management register in dev_stop as
this will disconnect the PHY. Also, in dev_close clear the GO_LINKD
bit only if PHY reset is not blocked
Fixes: 3af34dec0b41 ("igb: force phy power up/down")
-Cc: stable at dpdk.org
Signed-off-by: Shweta Choudaha <shweta.choudaha at att.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye at intel.com>
@@ -18,10 +19,10 @@
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
-index ce7c9e6646..53e83d5ec2 100644
+index 4378f08209..cef6fded96 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
-@@ -1468,8 +1468,9 @@ eth_igb_stop(struct rte_eth_dev *dev)
+@@ -1557,8 +1557,9 @@ eth_igb_stop(struct rte_eth_dev *dev)
igb_pf_reset_hw(hw);
E1000_WRITE_REG(hw, E1000_WUC, 0);
@@ -33,7 +34,7 @@
uint32_t phpm_reg;
phpm_reg = E1000_READ_REG(hw, E1000_82580_PHY_POWER_MGMT);
-@@ -1544,8 +1545,9 @@ eth_igb_close(struct rte_eth_dev *dev)
+@@ -1632,8 +1633,9 @@ eth_igb_close(struct rte_eth_dev *dev)
igb_release_manageability(hw);
igb_hw_control_release(hw);
More information about the stable
mailing list