Netdev List
 help / color / mirror / Atom feed
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Mitch Williams <mitch.a.williams@intel.com>,
	netdev@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com,
	Andrew Bowers <andrewx.bowers@intel.com>,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next 12/15] ice: Always notify FW of VF reset
Date: Tue,  3 Sep 2019 21:35:09 -0700	[thread overview]
Message-ID: <20190904043512.28066-13-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <20190904043512.28066-1-jeffrey.t.kirsher@intel.com>

From: Mitch Williams <mitch.a.williams@intel.com>

The call to ice_dis_vsi_txq() acts as the notification to the firmware
that the VF is being reset. Because of this, we need to make this call
every time we reset, regardless of whatever else we do to stop the Tx
queues.

Without this change, VF resets would fail to complete on interfaces that
were up and running.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 .../net/ethernet/intel/ice/ice_virtchnl_pf.c  | 25 ++++++++++++-------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
index b93324e9f4bc..c58e3e3212df 100644
--- a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
@@ -1074,9 +1074,16 @@ bool ice_reset_all_vfs(struct ice_pf *pf, bool is_vflr)
 	for (v = 0; v < pf->num_alloc_vfs; v++)
 		ice_trigger_vf_reset(&pf->vf[v], is_vflr);
 
-	for (v = 0; v < pf->num_alloc_vfs; v++)
-		if (test_bit(ICE_VF_STATE_QS_ENA, pf->vf[v].vf_states))
-			ice_dis_vf_qs(&pf->vf[v]);
+	for (v = 0; v < pf->num_alloc_vfs; v++) {
+		struct ice_vsi *vsi;
+
+		vf = &pf->vf[v];
+		vsi = pf->vsi[vf->lan_vsi_idx];
+		if (test_bit(ICE_VF_STATE_QS_ENA, vf->vf_states))
+			ice_dis_vf_qs(vf);
+		ice_dis_vsi_txq(vsi->port_info, vsi->idx, 0, 0, NULL, NULL,
+				NULL, ICE_VF_RESET, vf->vf_id, NULL);
+	}
 
 	/* HW requires some time to make sure it can flush the FIFO for a VF
 	 * when it resets it. Poll the VPGEN_VFRSTAT register for each VF in
@@ -1171,12 +1178,12 @@ static bool ice_reset_vf(struct ice_vf *vf, bool is_vflr)
 
 	if (test_bit(ICE_VF_STATE_QS_ENA, vf->vf_states))
 		ice_dis_vf_qs(vf);
-	else
-		/* Call Disable LAN Tx queue AQ call even when queues are not
-		 * enabled. This is needed for successful completion of VFR
-		 */
-		ice_dis_vsi_txq(vsi->port_info, vsi->idx, 0, 0, NULL, NULL,
-				NULL, ICE_VF_RESET, vf->vf_id, NULL);
+
+	/* Call Disable LAN Tx queue AQ whether or not queues are
+	 * enabled. This is needed for successful completion of VFR.
+	 */
+	ice_dis_vsi_txq(vsi->port_info, vsi->idx, 0, 0, NULL, NULL,
+			NULL, ICE_VF_RESET, vf->vf_id, NULL);
 
 	hw = &pf->hw;
 	/* poll VPGEN_VFRSTAT reg to make sure
-- 
2.21.0


  parent reply	other threads:[~2019-09-04  4:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-04  4:34 [net-next 00/15][pull request] 100GbE Intel Wired LAN Driver Updates 2019-09-03 Jeff Kirsher
2019-09-04  4:34 ` [net-next 01/15] ice: Fix EMP reset handling Jeff Kirsher
2019-09-04  4:34 ` [net-next 02/15] ice: Fix resource leak in ice_remove_rule_internal() Jeff Kirsher
2019-09-04  4:35 ` [net-next 03/15] ice: Report what the user set for coalesce [tx|rx]-usecs Jeff Kirsher
2019-09-04  4:35 ` [net-next 04/15] ice: Deduce TSA value from the priority value in the CEE mode Jeff Kirsher
2019-09-04  4:35 ` [net-next 05/15] ice: add needed PFR during driver unload Jeff Kirsher
2019-09-04  4:35 ` [net-next 06/15] ice: update driver unloading field for Queue Shutdown AQ command Jeff Kirsher
2019-09-04  4:35 ` [net-next 07/15] ice: add print of autoneg state to link message Jeff Kirsher
2019-09-04  4:35 ` [net-next 08/15] ice: print extra message if topology issue Jeff Kirsher
2019-09-04  4:35 ` [net-next 09/15] ice: Cleanup defines in ice_type.h Jeff Kirsher
2019-09-04  4:35 ` [net-next 10/15] ice: Limit Max TCs on devices with more than 4 ports Jeff Kirsher
2019-09-04  4:35 ` [net-next 11/15] ice: Correctly handle return values for init DCB Jeff Kirsher
2019-09-04  4:35 ` Jeff Kirsher [this message]
2019-09-04  4:35 ` [net-next 13/15] ice: Report stats when VSI is down Jeff Kirsher
2019-09-04  4:35 ` [net-next 14/15] ice: Remove enable DCB when SW LLDP is activated Jeff Kirsher
2019-09-04  4:35 ` [net-next 15/15] ice: Only disable VLAN pruning for the VF when all VLANs are removed Jeff Kirsher
2019-09-04  4:51 ` [net-next 00/15][pull request] 100GbE Intel Wired LAN Driver Updates 2019-09-03 David Miller

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=20190904043512.28066-13-jeffrey.t.kirsher@intel.com \
    --to=jeffrey.t.kirsher@intel.com \
    --cc=andrewx.bowers@intel.com \
    --cc=davem@davemloft.net \
    --cc=mitch.a.williams@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=sassmann@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox