[v1] net/i40e: enable the loopback function if it is X722 MAC
diff mbox series

Message ID 20181022074741.32884-1-haiyue.wang@intel.com
State Accepted, archived
Delegated to: Qi Zhang
Headers show
Series
  • [v1] net/i40e: enable the loopback function if it is X722 MAC
Related show

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Haiyue Wang Oct. 22, 2018, 7:47 a.m. UTC
In FVL, there was an issue and it didn't support the loopback function
before FW 5.0. For FPK (X722) it should work.

So it needs to distinguish between the devices by checking MAC type.

Fixes: 689bba33272d (i40e: add VEB switching support)
Fixes: bce83974ba2c (net/i40e: set Tx loopback from PF)

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c  | 4 ++--
 drivers/net/i40e/rte_pmd_i40e.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Zhang, Qi Z Oct. 23, 2018, 8:25 p.m. UTC | #1
> -----Original Message-----
> From: Wang, Haiyue
> Sent: Monday, October 22, 2018 2:48 AM
> To: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>
> Cc: Chilikin, Andrey <andrey.chilikin@intel.com>; Wang, Haiyue
> <haiyue.wang@intel.com>
> Subject: [PATCH v1] net/i40e: enable the loopback function if it is X722 MAC
> 
> In FVL, there was an issue and it didn't support the loopback function before
> FW 5.0. For FPK (X722) it should work.
> 
> So it needs to distinguish between the devices by checking MAC type.
> 
> Fixes: 689bba33272d (i40e: add VEB switching support)
> Fixes: bce83974ba2c (net/i40e: set Tx loopback from PF)
> 
> Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel with minor change:

1.add missing " in fix line
2.add cc stable@dpdk.org

Thanks
Qi

Patch
diff mbox series

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index f7a685c8c..ed5cd9c59 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -5371,7 +5371,7 @@  i40e_enable_pf_lb(struct i40e_pf *pf)
 	int ret;
 
 	/* Use the FW API if FW >= v5.0 */
-	if (hw->aq.fw_maj_ver < 5) {
+	if (hw->aq.fw_maj_ver < 5 && hw->mac.type != I40E_MAC_X722) {
 		PMD_INIT_LOG(ERR, "FW < v5.0, cannot enable loopback");
 		return;
 	}
@@ -5642,7 +5642,7 @@  i40e_vsi_setup(struct i40e_pf *pf,
 		ctxt.flags = I40E_AQ_VSI_TYPE_VF;
 
 		/* Use the VEB configuration if FW >= v5.0 */
-		if (hw->aq.fw_maj_ver >= 5) {
+		if (hw->aq.fw_maj_ver >= 5 || hw->mac.type == I40E_MAC_X722) {
 			/* Configure switch ID */
 			ctxt.info.valid_sections |=
 			rte_cpu_to_le_16(I40E_AQ_VSI_PROP_SWITCH_VALID);
diff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c
index bba62b1c5..7ce5d02fa 100644
--- a/drivers/net/i40e/rte_pmd_i40e.c
+++ b/drivers/net/i40e/rte_pmd_i40e.c
@@ -338,7 +338,7 @@  i40e_vsi_set_tx_loopback(struct i40e_vsi *vsi, uint8_t on)
 	hw = I40E_VSI_TO_HW(vsi);
 
 	/* Use the FW API if FW >= v5.0 */
-	if (hw->aq.fw_maj_ver < 5) {
+	if (hw->aq.fw_maj_ver < 5 && hw->mac.type != I40E_MAC_X722) {
 		PMD_INIT_LOG(ERR, "FW < v5.0, cannot enable loopback");
 		return -ENOTSUP;
 	}