DPDK patches and discussions
 help / color / mirror / Atom feed
From: Qi Zhang <qi.z.zhang@intel.com>
To: jingjing.wu@intel.com, helin.zhang@intel.com
Cc: dev@dpdk.org, Qi Zhang <qi.z.zhang@intel.com>, stable@dpdk.org
Subject: [dpdk-dev] [PATCH v3 09/29] net/i40e: fix VF reset flow
Date: Thu, 15 Dec 2016 16:04:59 -0500	[thread overview]
Message-ID: <1481835919-36488-10-git-send-email-qi.z.zhang@intel.com> (raw)
In-Reply-To: <1481835919-36488-1-git-send-email-qi.z.zhang@intel.com>

Add missing step during VF reset: PF should
set I40E_VFGEN_RSTAT to ACTIVE at end of the
VF reset operation or VF driver may not able
to detect that reset is already completed.
This patch also remove the unnecessary enum
for vfr state.

Fixes: 4861cde46116 ("i40e: new poll mode driver")

CC: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_pf.c | 6 ++++--
 drivers/net/i40e/i40e_pf.h | 5 -----
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 8b8a14f..2bc3355 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -139,7 +139,7 @@ i40e_pf_host_vf_reset(struct i40e_pf_vf *vf, bool do_hw_reset)
 	abs_vf_id = vf_id + hw->func_caps.vf_base_id;
 
 	/* Notify VF that we are in VFR progress */
-	I40E_WRITE_REG(hw, I40E_VFGEN_RSTAT1(vf_id), I40E_PF_VFR_INPROGRESS);
+	I40E_WRITE_REG(hw, I40E_VFGEN_RSTAT1(vf_id), I40E_VFR_INPROGRESS);
 
 	/*
 	 * If require a SW VF reset, a VFLR interrupt will be generated,
@@ -220,7 +220,7 @@ i40e_pf_host_vf_reset(struct i40e_pf_vf *vf, bool do_hw_reset)
 	}
 
 	/* Reset done, Set COMPLETE flag and clear reset bit */
-	I40E_WRITE_REG(hw, I40E_VFGEN_RSTAT1(vf_id), I40E_PF_VFR_COMPLETED);
+	I40E_WRITE_REG(hw, I40E_VFGEN_RSTAT1(vf_id), I40E_VFR_COMPLETED);
 	val = I40E_READ_REG(hw, I40E_VPGEN_VFRTRIG(vf_id));
 	val &= ~I40E_VPGEN_VFRTRIG_VFSWR_MASK;
 	I40E_WRITE_REG(hw, I40E_VPGEN_VFRTRIG(vf_id), val);
@@ -248,6 +248,8 @@ i40e_pf_host_vf_reset(struct i40e_pf_vf *vf, bool do_hw_reset)
 		return -EFAULT;
 	}
 
+	I40E_WRITE_REG(hw, I40E_VFGEN_RSTAT1(vf_id), I40E_VFR_VFACTIVE);
+
 	return ret;
 }
 
diff --git a/drivers/net/i40e/i40e_pf.h b/drivers/net/i40e/i40e_pf.h
index 59bf2ee..ada398b 100644
--- a/drivers/net/i40e/i40e_pf.h
+++ b/drivers/net/i40e/i40e_pf.h
@@ -48,11 +48,6 @@
 
 #define I40E_DPDK_OFFSET  0x100
 
-enum i40e_pf_vfr_state {
-	I40E_PF_VFR_INPROGRESS = 0,
-	I40E_PF_VFR_COMPLETED = 1,
-};
-
 /* DPDK pf driver specific command to VF */
 enum i40e_virtchnl_ops_dpdk {
 	/*
-- 
2.7.4

  parent reply	other threads:[~2016-12-16  4:08 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-15 21:04 [dpdk-dev] [PATCH v3 00/29] Support VFD and DPDK PF + kernel VF on i40e Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 01/29] net/i40e: support link status notification Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 02/29] net/i40e: add callback to user on VF to PF mbox msg Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 03/29] net/i40e: set VF MAC anti-spoofing from PF Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 04/29] net/i40e: set VF VLAN " Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 05/29] net/i40e: set Tx loopback " Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 06/29] net/i40e: set VF unicast promisc mode " Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 07/29] net/i40e: set VF multicast " Qi Zhang
2016-12-15 21:04 ` [dpdk-dev] [PATCH v3 08/29] net/i40e: enable VF MTU change Qi Zhang
2016-12-15 21:04 ` Qi Zhang [this message]
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 10/29] net/i40e: set VF MAC from PF support Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 11/29] net/i40e: set VF MAC from VF support Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 12/29] net/i40e: fix VF MAC address assignment Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 13/29] net/i40e: add VF VLAN strip func Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 14/29] net/i40e: add set VF VLAN insert function Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 15/29] net/i40e: set VF broadcast mode from PF Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 16/29] net/i40e: set VF VLAN tag " Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 17/29] net/i40e: set VF VLAN filter " Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 18/29] app/testpmd: use VFD APIs on i40e Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 19/29] app/testpmd: use unicast promiscuous mode " Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 20/29] app/testpmd: use multicast " Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 21/29] app/testpmd: add command to test VF broadcast " Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 22/29] app/testpmd: add command to test VF VLAN tag " Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 23/29] app/testpmd: handle i40e in VF VLAN filter command Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 24/29] net/i40e: change version number to support Linux VF Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 25/29] net/i40e: return correct VSI id Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 26/29] net/i40e: parse more VF parameter and configure Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 27/29] net/i40e: support Linux VF to configure IRQ link list Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 28/29] net/i40e: enhance in sanity check of MAC Qi Zhang
2016-12-15 21:05 ` [dpdk-dev] [PATCH v3 29/29] net/i40e: set/clear VF stats from PF Qi Zhang
2016-12-16 14:28 ` [dpdk-dev] [PATCH v3 00/29] Support VFD and DPDK PF + kernel VF on i40e Ferruh Yigit
2016-12-16 14:38 ` [dpdk-dev] [PATCH v4 " Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 01/29] net/i40e: support link status notification Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 02/29] net/i40e: add callback to user on VF to PF mbox msg Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 03/29] net/i40e: set VF MAC anti-spoofing from PF Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 04/29] net/i40e: set VF VLAN " Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 05/29] net/i40e: set Tx loopback " Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 06/29] net/i40e: set VF unicast promisc mode " Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 07/29] net/i40e: set VF multicast " Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 08/29] net/i40e: enable VF MTU change Ferruh Yigit
2016-12-16 14:38   ` [dpdk-dev] [PATCH v4 09/29] net/i40e: fix VF reset flow Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 10/29] net/i40e: set VF MAC from PF support Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 11/29] net/i40e: set VF MAC from VF support Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 12/29] net/i40e: fix VF MAC address assignment Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 13/29] net/i40e: add VF VLAN strip func Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 14/29] net/i40e: add set VF VLAN insert function Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 15/29] net/i40e: set VF broadcast mode from PF Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 16/29] net/i40e: set VF VLAN tag " Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 17/29] net/i40e: set VF VLAN filter " Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 18/29] app/testpmd: use VFD APIs on i40e Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 19/29] app/testpmd: use unicast promiscuous mode " Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 20/29] app/testpmd: use multicast " Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 21/29] app/testpmd: add command to test VF broadcast " Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 22/29] app/testpmd: add command to test VF VLAN tag " Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 23/29] app/testpmd: handle i40e in VF VLAN filter command Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 24/29] net/i40e: change version number to support Linux VF Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 25/29] net/i40e: return correct VSI id Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 26/29] net/i40e: parse more VF parameter and configure Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 27/29] net/i40e: support Linux VF to configure IRQ link list Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 28/29] net/i40e: enhance in sanity check of MAC Ferruh Yigit
2016-12-16 14:39   ` [dpdk-dev] [PATCH v4 29/29] net/i40e: set/clear VF stats from PF Ferruh Yigit
2016-12-16 14:45   ` [dpdk-dev] [PATCH v4 00/29] Support VFD and DPDK PF + kernel VF on i40e Vincent Jardin
2016-12-16 19:02   ` [dpdk-dev] [PATCH v5 " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 01/29] net/i40e: support link status notification Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 02/29] net/i40e: add callback to user on VF to PF mbox msg Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 03/29] net/i40e: set VF MAC anti-spoofing from PF Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 04/29] net/i40e: set VF VLAN " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 05/29] net/i40e: set Tx loopback " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 06/29] net/i40e: set VF unicast promisc mode " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 07/29] net/i40e: set VF multicast " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 08/29] net/i40e: enable VF MTU change Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 09/29] net/i40e: fix VF reset flow Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 10/29] net/i40e: set VF MAC from PF support Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 11/29] net/i40e: set VF MAC from VF support Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 12/29] net/i40e: fix VF MAC address assignment Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 13/29] net/i40e: add VF VLAN strip func Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 14/29] net/i40e: add set VF VLAN insert function Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 15/29] net/i40e: set VF broadcast mode from PF Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 16/29] net/i40e: set VF VLAN tag " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 17/29] net/i40e: set VF VLAN filter " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 18/29] app/testpmd: use VFD APIs on i40e Ferruh Yigit
2016-12-16 20:30       ` Vincent JARDIN
2016-12-19 11:03         ` Ferruh Yigit
2016-12-20 15:19           ` Vincent JARDIN
2016-12-19 17:09       ` Ferruh Yigit
2016-12-20  1:05         ` Lu, Wenzhuo
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 19/29] app/testpmd: use unicast promiscuous mode " Ferruh Yigit
2016-12-16 20:28       ` Vincent JARDIN
2016-12-19 11:05         ` Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 20/29] app/testpmd: use multicast " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 21/29] app/testpmd: add command to test VF broadcast " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 22/29] app/testpmd: add command to test VF VLAN tag " Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 23/29] app/testpmd: handle i40e in VF VLAN filter command Ferruh Yigit
2016-12-16 20:31       ` Vincent JARDIN
2016-12-19 11:13         ` Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 24/29] net/i40e: change version number to support Linux VF Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 25/29] net/i40e: return correct VSI id Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 26/29] net/i40e: parse more VF parameter and configure Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 27/29] net/i40e: support Linux VF to configure IRQ link list Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 28/29] net/i40e: enhance in sanity check of MAC Ferruh Yigit
2016-12-16 19:02     ` [dpdk-dev] [PATCH v5 29/29] net/i40e: set/clear VF stats from PF Ferruh Yigit
2016-12-20 13:24       ` Ferruh Yigit
2016-12-20 13:40         ` Iremonger, Bernard
2016-12-21  0:56           ` Lu, Wenzhuo
2016-12-22 16:38             ` Iremonger, Bernard
2016-12-16 20:36     ` [dpdk-dev] [PATCH v5 00/29] Support VFD and DPDK PF + kernel VF on i40e Vincent JARDIN
2016-12-19  9:01       ` Chen, Jing D
2016-12-19 13:20         ` Thomas Monjalon
2016-12-19 13:39           ` Chen, Jing D
2016-12-19 13:45             ` Vincent JARDIN
2016-12-20  4:48               ` Chen, Jing D
2016-12-20 15:18                 ` Vincent JARDIN
2016-12-20 15:31                   ` Ferruh Yigit
2016-12-21  0:50                     ` Lu, Wenzhuo
2016-12-22  8:10                   ` Chen, Jing D
2016-12-22 13:46                     ` Vincent JARDIN
2016-12-26 11:59                       ` Chen, Jing D
2017-01-04 21:09                         ` Scott Daniels
2017-01-10 13:29                           ` Vincent JARDIN
2017-01-12  3:47                             ` Chen, Jing D
2017-01-13 23:04                               ` John Fastabend
2017-01-13 23:49                                 ` JOSHI, KAUSTUBH  (KAUSTUBH)
2017-01-15 23:32                                   ` Vincent JARDIN
2017-01-16 11:42                                   ` Ferruh Yigit
2017-01-16  9:32                                 ` Thomas Monjalon

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=1481835919-36488-10-git-send-email-qi.z.zhang@intel.com \
    --to=qi.z.zhang@intel.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=stable@dpdk.org \
    /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;
as well as URLs for NNTP newsgroup(s).