All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shweta Choudaha <shweta.choudaha@gmail.com>
To: dev@dpdk.org
Cc: wenzhuo.lu@intel.com, shweta.choudaha@att.com, stable@dpdk.org
Subject: [dpdk-dev] [PATCH v2 1/1] net/e1000: set/clear GO_LINKD bit only if PHY reset is not blocked
Date: Thu, 16 May 2019 23:03:31 +0100	[thread overview]
Message-ID: <20190516220331.91984-2-shweta.choudaha@gmail.com> (raw)
In-Reply-To: <20190516220331.91984-1-shweta.choudaha@gmail.com>

From: Shweta Choudaha <shweta.choudaha@att.com>

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@dpdk.org

Signed-off-by: Shweta Choudaha <shweta.choudaha@att.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 d3a8f5bf4..4d4065d05 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -1515,8 +1515,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);
@@ -1590,8 +1591,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.11.0


  reply	other threads:[~2019-05-16 22:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-16 21:45 [dpdk-dev] [PATCH 0/1] net/e1000: set/clear GO_LINKD bit only if PHY reset is not blocked Shweta Choudaha
2019-05-16 21:45 ` [dpdk-dev] [PATCH 1/1] " Shweta Choudaha
2019-05-16 22:03   ` [dpdk-dev] [PATCH v2 0/1] " Shweta Choudaha
2019-05-16 22:03     ` Shweta Choudaha [this message]
2019-10-28  6:40       ` [dpdk-dev] [PATCH v2 1/1] " Ye Xiaolong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190516220331.91984-2-shweta.choudaha@gmail.com \
    --to=shweta.choudaha@gmail.com \
    --cc=dev@dpdk.org \
    --cc=shweta.choudaha@att.com \
    --cc=stable@dpdk.org \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.