DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/9] update i40e base code
@ 2020-09-05  2:49 Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 1/9] net/i40e/base: add VLAN field for input set Guinan Sun
                   ` (10 more replies)
  0 siblings, 11 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun

update i40e base code.

source code of i40e driver:
cid-i40e.2020.08.27.tar.gz dropped by the team which develop
basic drivers for any i40e NIC.

changelog in ND share repo:
From c0bfc1c07bb3 ("i40e-shared: Add VLAN field for input set")
To 1a82d59f0797 ("i40e-shared: Fix PHY configuration parameters when enabling EEE")

The following commits are ignored.
5b7d5a698092 ("i40e-shared: use linux packing style")
f16fa495c503 ("i40e-shared: Fix compilation issue with __packed")

Guinan Sun (9):
  net/i40e/base: add VLAN field for input set
  net/i40e/base: update FW API version
  net/i40e/base: enable pipe monitor thresholds
  net/i40e/base: fix missing function header arguments
  net/i40e/base: add support for minimum rollback revision
  net/i40e/base: fix Rx only for unicast promisc on VLAN
  net/i40e/base: add EEE LPI status check for X722 adapters
  net/i40e/base: fix PHY config param when enabling EEE
  net/i40e/base: update version

 drivers/net/i40e/base/README            |  2 +-
 drivers/net/i40e/base/i40e_adminq_cmd.h | 24 +++++++-
 drivers/net/i40e/base/i40e_common.c     | 82 +++++++++++++++++++++----
 drivers/net/i40e/base/i40e_dcb.c        |  3 +-
 drivers/net/i40e/base/i40e_prototype.h  |  4 ++
 drivers/net/i40e/base/i40e_register.h   |  3 +
 drivers/net/i40e/base/i40e_type.h       |  2 +
 7 files changed, 103 insertions(+), 17 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 1/9] net/i40e/base: add VLAN field for input set
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-07 11:09   ` Ferruh Yigit
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 2/9] net/i40e/base: update FW API version Guinan Sun
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, Przemyslaw Patynowski

Add VLAN bit used during flow director programming, as a part of
input set for HW.

Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_type.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h
index cf4134583..c8e7164e1 100644
--- a/drivers/net/i40e/base/i40e_type.h
+++ b/drivers/net/i40e/base/i40e_type.h
@@ -1926,6 +1926,8 @@ struct i40e_lldp_variables {
 #define I40E_L4_DST_MASK		(0x1ULL << I40E_L4_DST_SHIFT)
 #define I40E_VERIFY_TAG_SHIFT		31
 #define I40E_VERIFY_TAG_MASK		(0x3ULL << I40E_VERIFY_TAG_SHIFT)
+#define I40E_VLAN_SRC_SHIFT		55
+#define I40E_VLAN_SRC_MASK		(0x1ULL << I40E_VLAN_SRC_SHIFT)
 
 #define I40E_FLEX_50_SHIFT		13
 #define I40E_FLEX_50_MASK		(0x1ULL << I40E_FLEX_50_SHIFT)
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 2/9] net/i40e/base: update FW API version
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 1/9] net/i40e/base: add VLAN field for input set Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-07 11:10   ` Ferruh Yigit
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 3/9] net/i40e/base: enable pipe monitor thresholds Guinan Sun
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, Jacek Naczyk

Update FW increment API version.

Signed-off-by: Jacek Naczyk <jacek.naczyk@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 0766e69a8..9ef01f371 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -12,8 +12,8 @@
  */
 
 #define I40E_FW_API_VERSION_MAJOR	0x0001
-#define I40E_FW_API_VERSION_MINOR_X722	0x000A
-#define I40E_FW_API_VERSION_MINOR_X710	0x000B
+#define I40E_FW_API_VERSION_MINOR_X722	0x000B
+#define I40E_FW_API_VERSION_MINOR_X710	0x000C
 
 #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \
 					I40E_FW_API_VERSION_MINOR_X710 : \
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 3/9] net/i40e/base: enable pipe monitor thresholds
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 1/9] net/i40e/base: add VLAN field for input set Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 2/9] net/i40e/base: update FW API version Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-07 11:11   ` Ferruh Yigit
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 4/9] net/i40e/base: fix missing function header arguments Guinan Sun
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, Jesse Brandeburg

Enable several registers and defines for software controlled
DCB, particularly around the receive pipe monitor configuration
which is necessary to help ports achieve the right throughput
under load in several different configurations.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_register.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/i40e/base/i40e_register.h b/drivers/net/i40e/base/i40e_register.h
index ee4f333f9..ee443e9c9 100644
--- a/drivers/net/i40e/base/i40e_register.h
+++ b/drivers/net/i40e/base/i40e_register.h
@@ -203,6 +203,9 @@
 #define I40E_VFCM_PE_ERRINFO1_RLU_ERROR_CNT_MASK  I40E_MASK(0xFF, I40E_VFCM_PE_ERRINFO1_RLU_ERROR_CNT_SHIFT)
 #define I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_SHIFT 24
 #define I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_MASK  I40E_MASK(0xFF, I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_SHIFT)
+#define I40E_PRT_SWR_PM_THR                 0x0026CD00 /* Reset: CORER */
+#define I40E_PRT_SWR_PM_THR_THRESHOLD_SHIFT 0
+#define I40E_PRT_SWR_PM_THR_THRESHOLD_MASK  I40E_MASK(0xFF, I40E_PRT_SWR_PM_THR_THRESHOLD_SHIFT)
 #define I40E_GLDCB_GENC              0x00083044 /* Reset: CORER */
 #define I40E_GLDCB_GENC_PCIRTT_SHIFT 0
 #define I40E_GLDCB_GENC_PCIRTT_MASK  I40E_MASK(0xFFFF, I40E_GLDCB_GENC_PCIRTT_SHIFT)
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 4/9] net/i40e/base: fix missing function header arguments
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (2 preceding siblings ...)
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 3/9] net/i40e/base: enable pipe monitor thresholds Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-08  8:03   ` Yang, Qiming
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 5/9] net/i40e/base: add support for minimum rollback revision Guinan Sun
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev
  Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, stable, Jesse Brandeburg

Fix them by adding the argument descriptions.

Fixes: 0d9d27bb8684 ("i40e/base: prepare local LLDP MIB in TLV")
Cc: stable@dpdk.org

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_dcb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/i40e_dcb.c b/drivers/net/i40e/base/i40e_dcb.c
index a07c61e67..388af3d64 100644
--- a/drivers/net/i40e/base/i40e_dcb.c
+++ b/drivers/net/i40e/base/i40e_dcb.c
@@ -1267,7 +1267,8 @@ enum i40e_status_code i40e_set_dcb_config(struct i40e_hw *hw)
 
 /**
  * i40e_dcb_config_to_lldp - Convert Dcbconfig to MIB format
- * @hw: pointer to the hw struct
+ * @lldpmib: pointer to mib to be output
+ * @miblen: pointer to u16 for length of lldpmib
  * @dcbcfg: store for LLDPDU data
  *
  * send DCB configuration to FW
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 5/9] net/i40e/base: add support for minimum rollback revision
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (3 preceding siblings ...)
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 4/9] net/i40e/base: fix missing function header arguments Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 6/9] net/i40e/base: fix Rx only for unicast promisc on VLAN Guinan Sun
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, Przemyslaw Ciesielski

Add support for minimum rollback revision.

Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 18 +++++++++++++++
 drivers/net/i40e/base/i40e_common.c     | 29 +++++++++++++++++++++++++
 drivers/net/i40e/base/i40e_prototype.h  |  4 ++++
 3 files changed, 51 insertions(+)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 9ef01f371..4db8cdd8c 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -241,6 +241,7 @@ enum i40e_admin_queue_opc {
 	i40e_aqc_opc_nvm_config_read		= 0x0704,
 	i40e_aqc_opc_nvm_config_write		= 0x0705,
 	i40e_aqc_opc_nvm_update_in_process	= 0x0706,
+	i40e_aqc_opc_rollback_revision_update	= 0x0707,
 	i40e_aqc_opc_oem_post_update		= 0x0720,
 	i40e_aqc_opc_thermal_sensor		= 0x0721,
 
@@ -2419,6 +2420,23 @@ struct i40e_aqc_nvm_config_data_immediate_field {
 
 I40E_CHECK_STRUCT_LEN(0xc, i40e_aqc_nvm_config_data_immediate_field);
 
+/* Minimal Rollback Revision Update (direct 0x0707) */
+struct i40e_aqc_rollback_revision_update {
+	u8	optin_mode; /* bool */
+#define I40E_AQ_RREV_OPTIN_MODE			0x01
+	u8	module_selected;
+#define I40E_AQ_RREV_MODULE_PCIE_ANALOG		0
+#define I40E_AQ_RREV_MODULE_PHY_ANALOG		1
+#define I40E_AQ_RREV_MODULE_OPTION_ROM		2
+#define I40E_AQ_RREV_MODULE_EMP_IMAGE		3
+#define I40E_AQ_RREV_MODULE_PE_IMAGE		4
+	u8	reserved1[2];
+	u32	min_rrev;
+	u8	reserved2[8];
+};
+
+I40E_CHECK_CMD_LENGTH(i40e_aqc_rollback_revision_update);
+
 /* OEM Post Update (indirect 0x0720)
  * no command data struct used
  */
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 6c6fb4de4..15f4e91a4 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -3717,6 +3717,35 @@ i40e_aq_nvm_update_in_process(struct i40e_hw *hw,
 	return status;
 }
 
+/**
+ * i40e_aq_min_rollback_rev_update - triggers an ow after update
+ * @hw: pointer to the hw struct
+ * @mode: opt-in mode, 1b for single module update, 0b for bulk update
+ * @module: module to be updated. Ignored if mode is 0b
+ * @min_rrev: value of the new minimal version. Ignored if mode is 0b
+ * @cmd_details: pointer to command details structure or NULL
+ **/
+enum i40e_status_code
+i40e_aq_min_rollback_rev_update(struct i40e_hw *hw, u8 mode, u8 module,
+				u32 min_rrev,
+				struct i40e_asq_cmd_details *cmd_details)
+{
+	struct i40e_aq_desc desc;
+	struct i40e_aqc_rollback_revision_update *cmd =
+		(struct i40e_aqc_rollback_revision_update *)&desc.params.raw;
+	enum i40e_status_code status;
+
+	i40e_fill_default_direct_cmd_desc(&desc,
+		i40e_aqc_opc_rollback_revision_update);
+	cmd->optin_mode = mode;
+	cmd->module_selected = module;
+	cmd->min_rrev = min_rrev;
+
+	status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
+
+	return status;
+}
+
 /**
  * i40e_aq_oem_post_update - triggers an OEM specific flow after update
  * @hw: pointer to the hw struct
diff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h
index 9a89f3002..124222e47 100644
--- a/drivers/net/i40e/base/i40e_prototype.h
+++ b/drivers/net/i40e/base/i40e_prototype.h
@@ -240,6 +240,10 @@ enum i40e_status_code i40e_aq_write_nvm_config(struct i40e_hw *hw,
 				u8 cmd_flags, void *data, u16 buf_size,
 				u16 element_count,
 				struct i40e_asq_cmd_details *cmd_details);
+enum i40e_status_code
+i40e_aq_min_rollback_rev_update(struct i40e_hw *hw, u8 mode, u8 module,
+				u32 min_rrev,
+				struct i40e_asq_cmd_details *cmd_details);
 enum i40e_status_code i40e_aq_oem_post_update(struct i40e_hw *hw,
 				void *buff, u16 buff_size,
 				struct i40e_asq_cmd_details *cmd_details);
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 6/9] net/i40e/base: fix Rx only for unicast promisc on VLAN
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (4 preceding siblings ...)
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 5/9] net/i40e/base: add support for minimum rollback revision Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 7/9] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev
  Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, stable,
	Przemyslaw Patynowski

Set promiscuous mode to rx traffic only if VSI has VLANs configured.
Rename misleading PROMISC_TX bit to proper name.
Added I40E_AQC_SET_VSI_PROMISC_RX_ONLY during VSI unicast promiscuous
mode configuration with port VLAN.
Aligned unicast promiscuous with VLAN to the one without VLAN.
Previously other VFs could listen to unicast tx traffic of other VFs.

Fixes: 8db9e2a1b232 ("i40e: base driver")
Cc: stable@dpdk.org

Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h |  2 +-
 drivers/net/i40e/base/i40e_common.c     | 36 +++++++++++++++++++------
 2 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 4db8cdd8c..d6402a691 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -1222,7 +1222,7 @@ struct i40e_aqc_set_vsi_promiscuous_modes {
 #define I40E_AQC_SET_VSI_PROMISC_BROADCAST	0x04
 #define I40E_AQC_SET_VSI_DEFAULT		0x08
 #define I40E_AQC_SET_VSI_PROMISC_VLAN		0x10
-#define I40E_AQC_SET_VSI_PROMISC_TX		0x8000
+#define I40E_AQC_SET_VSI_PROMISC_RX_ONLY	0x8000
 	__le16	seid;
 #define I40E_AQC_VSI_PROM_CMD_SEID_MASK		0x3FF
 	__le16	vlan_tag;
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 15f4e91a4..cd8b27e40 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -2270,6 +2270,22 @@ enum i40e_status_code i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags,
 	return status;
 }
 
+/**
+ * i40e_hw_ver_ge
+ * @hw: pointer to the hw struct
+ * @maj: api major value
+ * @min: api minor value
+ *
+ * Assert whether current HW api version is greater/equal than provided.
+ **/
+static bool i40e_hw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
+{
+	if (hw->aq.api_maj_ver > maj ||
+	    (hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min))
+		return true;
+	return false;
+}
+
 /**
  * i40e_aq_add_vsi
  * @hw: pointer to the hw struct
@@ -2395,18 +2411,16 @@ enum i40e_status_code i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw,
 
 	if (set) {
 		flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST;
-		if (rx_only_promisc &&
-		    (((hw->aq.api_maj_ver == 1) && (hw->aq.api_min_ver >= 5)) ||
-		     (hw->aq.api_maj_ver > 1)))
-			flags |= I40E_AQC_SET_VSI_PROMISC_TX;
+		if (rx_only_promisc && i40e_hw_ver_ge(hw, 1, 5))
+			flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY;
 	}
 
 	cmd->promiscuous_flags = CPU_TO_LE16(flags);
 
 	cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST);
-	if (((hw->aq.api_maj_ver >= 1) && (hw->aq.api_min_ver >= 5)) ||
-	     (hw->aq.api_maj_ver > 1))
-		cmd->valid_flags |= CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_TX);
+	if (i40e_hw_ver_ge(hw, 1, 5))
+		cmd->valid_flags |=
+			CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY);
 
 	cmd->seid = CPU_TO_LE16(seid);
 	status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
@@ -2538,11 +2552,17 @@ enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw,
 	i40e_fill_default_direct_cmd_desc(&desc,
 					i40e_aqc_opc_set_vsi_promiscuous_modes);
 
-	if (enable)
+	if (enable) {
 		flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST;
+		if (i40e_hw_ver_ge(hw, 1, 5))
+			flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY;
+	}
 
 	cmd->promiscuous_flags = CPU_TO_LE16(flags);
 	cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST);
+	if (i40e_hw_ver_ge(hw, 1, 5))
+		cmd->valid_flags |=
+			CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY);
 	cmd->seid = CPU_TO_LE16(seid);
 	cmd->vlan_tag = CPU_TO_LE16(vid | I40E_AQC_SET_VSI_VLAN_VALID);
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 7/9] net/i40e/base: add EEE LPI status check for X722 adapters
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (5 preceding siblings ...)
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 6/9] net/i40e/base: fix Rx only for unicast promisc on VLAN Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 8/9] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, Dawid Lukwinski

Add reading LPI (low power idle) status for supported X722 devices.
If adapter's PHY supports EEE in current mode (device ID + link speed),
LPI status is read from PHY Clause 45 PCS status register.

Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index cd8b27e40..073634278 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -7098,15 +7098,23 @@ enum i40e_status_code i40e_get_phy_lpi_status(struct i40e_hw *hw,
 					      struct i40e_hw_port_stats *stat)
 {
 	enum i40e_status_code ret = I40E_SUCCESS;
+	bool eee_mrvl_phy;
+	bool eee_bcm_phy;
 	u32 val;
 
 	stat->rx_lpi_status = 0;
 	stat->tx_lpi_status = 0;
 
-	if ((hw->device_id == I40E_DEV_ID_10G_BASE_T_BC ||
-	     hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) &&
-	    (hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB ||
-	     hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB)) {
+	eee_bcm_phy =
+		(hw->device_id == I40E_DEV_ID_10G_BASE_T_BC ||
+		 hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) &&
+		(hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB ||
+		 hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB);
+	eee_mrvl_phy =
+		hw->device_id == I40E_DEV_ID_1G_BASE_T_X722;
+
+	if (eee_bcm_phy || eee_mrvl_phy) {
+		// read Clause 45 PCS Status 1 register
 		ret = i40e_aq_get_phy_register(hw,
 					       I40E_AQ_PHY_REG_ACCESS_EXTERNAL,
 					       I40E_BCM_PHY_PCS_STATUS1_PAGE,
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 8/9] net/i40e/base: fix PHY config param when enabling EEE
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (6 preceding siblings ...)
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 7/9] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 9/9] net/i40e/base: update version Guinan Sun
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev
  Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun, stable,
	Galazka Krzysztof

The i40e_enable_eee function did not copy phy_type_ext field
from current PHY configuration retrieved with Get PHY Abilities AQ.
It caused a misconfiguration of the PHY on devices supporting 2.5
and 5G speeds and prevented establishing link when only those
speeds were selected for advertisement.

Fixes: c61bcb0fe1b0 ("net/i40e/base: support Energy Efficient Ethernet")
Cc: stable@dpdk.org

Signed-off-by: Galazka Krzysztof <krzysztof.galazka@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 073634278..e62d63c68 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -6449,6 +6449,7 @@ enum i40e_status_code i40e_enable_eee(struct i40e_hw *hw, bool enable)
 
 	/* Cache current configuration */
 	config.phy_type = abilities.phy_type;
+	config.phy_type_ext = abilities.phy_type_ext;
 	config.link_speed = abilities.link_speed;
 	config.abilities = abilities.abilities |
 			   I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH 9/9] net/i40e/base: update version
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (7 preceding siblings ...)
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 8/9] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun
@ 2020-09-05  2:49 ` Guinan Sun
  2020-09-07  6:27 ` [dpdk-dev] [PATCH 0/9] update i40e base code Zhang, Qi Z
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
  10 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-05  2:49 UTC (permalink / raw)
  To: dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Guinan Sun

Update base code version in readme.

Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/README b/drivers/net/i40e/base/README
index 58174d472..6af299311 100644
--- a/drivers/net/i40e/base/README
+++ b/drivers/net/i40e/base/README
@@ -6,7 +6,7 @@ Intel® I40E driver
 ==================
 
 This directory contains source code of FreeBSD i40e driver of version
-cid-i40e.2020.07.16.tar.gz released by the team which develops
+cid-i40e.2020.08.27.tar.gz released by the team which develops
 basic drivers for any i40e NIC. The directory of base/ contains the
 original source package.
 This driver is valid for the product(s) listed below
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [dpdk-dev] [PATCH 0/9] update i40e base code
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (8 preceding siblings ...)
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 9/9] net/i40e/base: update version Guinan Sun
@ 2020-09-07  6:27 ` Zhang, Qi Z
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
  10 siblings, 0 replies; 24+ messages in thread
From: Zhang, Qi Z @ 2020-09-07  6:27 UTC (permalink / raw)
  To: Sun, GuinanX, dev; +Cc: Xing, Beilei, Yang, Qiming



> -----Original Message-----
> From: Sun, GuinanX <guinanx.sun@intel.com>
> Sent: Saturday, September 5, 2020 10:49 AM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> Yang, Qiming <qiming.yang@intel.com>; Sun, GuinanX
> <guinanx.sun@intel.com>
> Subject: [PATCH 0/9] update i40e base code
> 
> update i40e base code.
> 
> source code of i40e driver:
> cid-i40e.2020.08.27.tar.gz dropped by the team which develop basic drivers
> for any i40e NIC.
> 
> changelog in ND share repo:
> From c0bfc1c07bb3 ("i40e-shared: Add VLAN field for input set") To
> 1a82d59f0797 ("i40e-shared: Fix PHY configuration parameters when enabling
> EEE")
> 
> The following commits are ignored.
> 5b7d5a698092 ("i40e-shared: use linux packing style")
> f16fa495c503 ("i40e-shared: Fix compilation issue with __packed")
> 
> Guinan Sun (9):
>   net/i40e/base: add VLAN field for input set
>   net/i40e/base: update FW API version
>   net/i40e/base: enable pipe monitor thresholds
>   net/i40e/base: fix missing function header arguments
>   net/i40e/base: add support for minimum rollback revision
>   net/i40e/base: fix Rx only for unicast promisc on VLAN
>   net/i40e/base: add EEE LPI status check for X722 adapters
>   net/i40e/base: fix PHY config param when enabling EEE
>   net/i40e/base: update version
> 
>  drivers/net/i40e/base/README            |  2 +-
>  drivers/net/i40e/base/i40e_adminq_cmd.h | 24 +++++++-
>  drivers/net/i40e/base/i40e_common.c     | 82 +++++++++++++++++++++----
>  drivers/net/i40e/base/i40e_dcb.c        |  3 +-
>  drivers/net/i40e/base/i40e_prototype.h  |  4 ++
>  drivers/net/i40e/base/i40e_register.h   |  3 +
>  drivers/net/i40e/base/i40e_type.h       |  2 +
>  7 files changed, 103 insertions(+), 17 deletions(-)
> 
> --
> 2.17.1
Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [dpdk-dev] [PATCH 1/9] net/i40e/base: add VLAN field for input set
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 1/9] net/i40e/base: add VLAN field for input set Guinan Sun
@ 2020-09-07 11:09   ` Ferruh Yigit
  0 siblings, 0 replies; 24+ messages in thread
From: Ferruh Yigit @ 2020-09-07 11:09 UTC (permalink / raw)
  To: Guinan Sun, dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Przemyslaw Patynowski

On 9/5/2020 3:49 AM, Guinan Sun wrote:
> Add VLAN bit used during flow director programming, as a part of
> input set for HW.
> 
> Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
> Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
> ---
>  drivers/net/i40e/base/i40e_type.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h
> index cf4134583..c8e7164e1 100644
> --- a/drivers/net/i40e/base/i40e_type.h
> +++ b/drivers/net/i40e/base/i40e_type.h
> @@ -1926,6 +1926,8 @@ struct i40e_lldp_variables {
>  #define I40E_L4_DST_MASK		(0x1ULL << I40E_L4_DST_SHIFT)
>  #define I40E_VERIFY_TAG_SHIFT		31
>  #define I40E_VERIFY_TAG_MASK		(0x3ULL << I40E_VERIFY_TAG_SHIFT)
> +#define I40E_VLAN_SRC_SHIFT		55
> +#define I40E_VLAN_SRC_MASK		(0x1ULL << I40E_VLAN_SRC_SHIFT)
>  
>  #define I40E_FLEX_50_SHIFT		13
>  #define I40E_FLEX_50_MASK		(0x1ULL << I40E_FLEX_50_SHIFT)
> 

Hi Guinan, Qi,

These new defines in the base code seems not used by driver, is there a benefit
to add them now?
What do you think to add them when they are used by the driver code?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [dpdk-dev] [PATCH 2/9] net/i40e/base: update FW API version
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 2/9] net/i40e/base: update FW API version Guinan Sun
@ 2020-09-07 11:10   ` Ferruh Yigit
  0 siblings, 0 replies; 24+ messages in thread
From: Ferruh Yigit @ 2020-09-07 11:10 UTC (permalink / raw)
  To: Guinan Sun, dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Jacek Naczyk

On 9/5/2020 3:49 AM, Guinan Sun wrote:
> Update FW increment API version.
> 
> Signed-off-by: Jacek Naczyk <jacek.naczyk@intel.com>
> Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
> ---
>  drivers/net/i40e/base/i40e_adminq_cmd.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
> index 0766e69a8..9ef01f371 100644
> --- a/drivers/net/i40e/base/i40e_adminq_cmd.h
> +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
> @@ -12,8 +12,8 @@
>   */
>  
>  #define I40E_FW_API_VERSION_MAJOR	0x0001
> -#define I40E_FW_API_VERSION_MINOR_X722	0x000A
> -#define I40E_FW_API_VERSION_MINOR_X710	0x000B
> +#define I40E_FW_API_VERSION_MINOR_X722	0x000B
> +#define I40E_FW_API_VERSION_MINOR_X710	0x000C
>  
>  #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \
>  					I40E_FW_API_VERSION_MINOR_X710 : \
> 

Hi Guinan,

Is it clear/know what changes causing API version increase, if so it would be
good to document this in the commit log.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [dpdk-dev] [PATCH 3/9] net/i40e/base: enable pipe monitor thresholds
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 3/9] net/i40e/base: enable pipe monitor thresholds Guinan Sun
@ 2020-09-07 11:11   ` Ferruh Yigit
  0 siblings, 0 replies; 24+ messages in thread
From: Ferruh Yigit @ 2020-09-07 11:11 UTC (permalink / raw)
  To: Guinan Sun, dev; +Cc: Beilei Xing, Qi Zhang, Qiming Yang, Jesse Brandeburg

On 9/5/2020 3:49 AM, Guinan Sun wrote:
> Enable several registers and defines for software controlled
> DCB, particularly around the receive pipe monitor configuration
> which is necessary to help ports achieve the right throughput
> under load in several different configurations.
> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
> ---
>  drivers/net/i40e/base/i40e_register.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/i40e/base/i40e_register.h b/drivers/net/i40e/base/i40e_register.h
> index ee4f333f9..ee443e9c9 100644
> --- a/drivers/net/i40e/base/i40e_register.h
> +++ b/drivers/net/i40e/base/i40e_register.h
> @@ -203,6 +203,9 @@
>  #define I40E_VFCM_PE_ERRINFO1_RLU_ERROR_CNT_MASK  I40E_MASK(0xFF, I40E_VFCM_PE_ERRINFO1_RLU_ERROR_CNT_SHIFT)
>  #define I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_SHIFT 24
>  #define I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_MASK  I40E_MASK(0xFF, I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_SHIFT)
> +#define I40E_PRT_SWR_PM_THR                 0x0026CD00 /* Reset: CORER */
> +#define I40E_PRT_SWR_PM_THR_THRESHOLD_SHIFT 0
> +#define I40E_PRT_SWR_PM_THR_THRESHOLD_MASK  I40E_MASK(0xFF, I40E_PRT_SWR_PM_THR_THRESHOLD_SHIFT)
>  #define I40E_GLDCB_GENC              0x00083044 /* Reset: CORER */
>  #define I40E_GLDCB_GENC_PCIRTT_SHIFT 0
>  #define I40E_GLDCB_GENC_PCIRTT_MASK  I40E_MASK(0xFFFF, I40E_GLDCB_GENC_PCIRTT_SHIFT)
> 

Same comment here, can this base code update be postponed to when these macros
actually used?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [dpdk-dev] [PATCH 4/9] net/i40e/base: fix missing function header arguments
  2020-09-05  2:49 ` [dpdk-dev] [PATCH 4/9] net/i40e/base: fix missing function header arguments Guinan Sun
@ 2020-09-08  8:03   ` Yang, Qiming
  0 siblings, 0 replies; 24+ messages in thread
From: Yang, Qiming @ 2020-09-08  8:03 UTC (permalink / raw)
  To: Sun, GuinanX, dev; +Cc: Xing, Beilei, Zhang, Qi Z, stable, Brandeburg, Jesse



> -----Original Message-----
> From: Sun, GuinanX <guinanx.sun@intel.com>
> Sent: Saturday, September 5, 2020 10:50
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> Yang, Qiming <qiming.yang@intel.com>; Sun, GuinanX
> <guinanx.sun@intel.com>; stable@dpdk.org; Brandeburg, Jesse
> <jesse.brandeburg@intel.com>
> Subject: [PATCH 4/9] net/i40e/base: fix missing function header arguments
> 
> Fix them by adding the argument descriptions.
> 
> Fixes: 0d9d27bb8684 ("i40e/base: prepare local LLDP MIB in TLV")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
> ---
>  drivers/net/i40e/base/i40e_dcb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/base/i40e_dcb.c
> b/drivers/net/i40e/base/i40e_dcb.c
> index a07c61e67..388af3d64 100644
> --- a/drivers/net/i40e/base/i40e_dcb.c
> +++ b/drivers/net/i40e/base/i40e_dcb.c
> @@ -1267,7 +1267,8 @@ enum i40e_status_code
> i40e_set_dcb_config(struct i40e_hw *hw)
> 
>  /**
>   * i40e_dcb_config_to_lldp - Convert Dcbconfig to MIB format
> - * @hw: pointer to the hw struct
> + * @lldpmib: pointer to mib to be output
> + * @miblen: pointer to u16 for length of lldpmib

Only parameter description change? No function change?

>   * @dcbcfg: store for LLDPDU data
>   *
>   * send DCB configuration to FW
> --
> 2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 0/7] update i40e base code
  2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
                   ` (9 preceding siblings ...)
  2020-09-07  6:27 ` [dpdk-dev] [PATCH 0/9] update i40e base code Zhang, Qi Z
@ 2020-09-12  3:00 ` Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 1/7] net/i40e/base: update FW API version Guinan Sun
                     ` (7 more replies)
  10 siblings, 8 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun

update i40e base code.

source code of i40e driver:
cid-i40e.2020.08.27.tar.gz dropped by the team which develop
basic drivers for any i40e NIC.

changelog in ND share repo:
From c0bfc1c07bb3 ("i40e-shared: Add VLAN field for input set")
To 1a82d59f0797 ("i40e-shared: Fix PHY configuration parameters when enabling EEE")

The following commits are ignored.
5b7d5a698092 ("i40e-shared: use linux packing style")
f16fa495c503 ("i40e-shared: Fix compilation issue with __packed")
c0bfc1c07bb3 ("i40e-shared: Add VLAN field for input set")
dcc3e90e9acd ("i40e-shared: enable pipe monitor thresholds")
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
v2: 
* Remove two useless patches for dpdk.
* Modify commit message.

Guinan Sun (7):
  net/i40e/base: update FW API version
  net/i40e/base: fix missing function header arguments
  net/i40e/base: add support for minimum rollback revision
  net/i40e/base: fix Rx only for unicast promisc on VLAN
  net/i40e/base: add EEE LPI status check for X722 adapters
  net/i40e/base: fix PHY config param when enabling EEE
  net/i40e/base: update version

 drivers/net/i40e/base/README            |  2 +-
 drivers/net/i40e/base/i40e_adminq_cmd.h | 24 +++++++-
 drivers/net/i40e/base/i40e_common.c     | 82 +++++++++++++++++++++----
 drivers/net/i40e/base/i40e_dcb.c        |  3 +-
 drivers/net/i40e/base/i40e_prototype.h  |  4 ++
 5 files changed, 98 insertions(+), 17 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 1/7] net/i40e/base: update FW API version
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
@ 2020-09-12  3:00   ` Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 2/7] net/i40e/base: fix missing function header arguments Guinan Sun
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun, Jacek Naczyk

Update FW increment API version for:
-NVM FW Lockdown Feature for legacy devices
-Security Version Opt-In

Signed-off-by: Jacek Naczyk <jacek.naczyk@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 0766e69a8..9ef01f371 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -12,8 +12,8 @@
  */
 
 #define I40E_FW_API_VERSION_MAJOR	0x0001
-#define I40E_FW_API_VERSION_MINOR_X722	0x000A
-#define I40E_FW_API_VERSION_MINOR_X710	0x000B
+#define I40E_FW_API_VERSION_MINOR_X722	0x000B
+#define I40E_FW_API_VERSION_MINOR_X710	0x000C
 
 #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \
 					I40E_FW_API_VERSION_MINOR_X710 : \
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 2/7] net/i40e/base: fix missing function header arguments
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 1/7] net/i40e/base: update FW API version Guinan Sun
@ 2020-09-12  3:00   ` Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 3/7] net/i40e/base: add support for minimum rollback revision Guinan Sun
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun, stable, Jesse Brandeburg

Fix them by adding the argument descriptions.

Fixes: 0d9d27bb8684 ("i40e/base: prepare local LLDP MIB in TLV")
Cc: stable@dpdk.org

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_dcb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/i40e_dcb.c b/drivers/net/i40e/base/i40e_dcb.c
index a07c61e67..388af3d64 100644
--- a/drivers/net/i40e/base/i40e_dcb.c
+++ b/drivers/net/i40e/base/i40e_dcb.c
@@ -1267,7 +1267,8 @@ enum i40e_status_code i40e_set_dcb_config(struct i40e_hw *hw)
 
 /**
  * i40e_dcb_config_to_lldp - Convert Dcbconfig to MIB format
- * @hw: pointer to the hw struct
+ * @lldpmib: pointer to mib to be output
+ * @miblen: pointer to u16 for length of lldpmib
  * @dcbcfg: store for LLDPDU data
  *
  * send DCB configuration to FW
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 3/7] net/i40e/base: add support for minimum rollback revision
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 1/7] net/i40e/base: update FW API version Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 2/7] net/i40e/base: fix missing function header arguments Guinan Sun
@ 2020-09-12  3:00   ` Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 4/7] net/i40e/base: fix Rx only for unicast promisc on VLAN Guinan Sun
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun, Przemyslaw Ciesielski

Add support for minimum rollback revision.

Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 18 +++++++++++++++
 drivers/net/i40e/base/i40e_common.c     | 29 +++++++++++++++++++++++++
 drivers/net/i40e/base/i40e_prototype.h  |  4 ++++
 3 files changed, 51 insertions(+)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 9ef01f371..65831ea7a 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -241,6 +241,7 @@ enum i40e_admin_queue_opc {
 	i40e_aqc_opc_nvm_config_read		= 0x0704,
 	i40e_aqc_opc_nvm_config_write		= 0x0705,
 	i40e_aqc_opc_nvm_update_in_process	= 0x0706,
+	i40e_aqc_opc_rollback_revision_update	= 0x0707,
 	i40e_aqc_opc_oem_post_update		= 0x0720,
 	i40e_aqc_opc_thermal_sensor		= 0x0721,
 
@@ -2419,6 +2420,23 @@ struct i40e_aqc_nvm_config_data_immediate_field {
 
 I40E_CHECK_STRUCT_LEN(0xc, i40e_aqc_nvm_config_data_immediate_field);
 
+/* Minimal Rollback Revision Update (direct 0x0707) */
+struct i40e_aqc_rollback_revision_update {
+	u8	optin_mode; /* bool */
+#define I40E_AQ_RREV_OPTION_MODE			0x01
+	u8	module_selected;
+#define I40E_AQ_RREV_MODULE_PCIE_ANALOG		0
+#define I40E_AQ_RREV_MODULE_PHY_ANALOG		1
+#define I40E_AQ_RREV_MODULE_OPTION_ROM		2
+#define I40E_AQ_RREV_MODULE_EMP_IMAGE		3
+#define I40E_AQ_RREV_MODULE_PE_IMAGE		4
+	u8	reserved1[2];
+	u32	min_rrev;
+	u8	reserved2[8];
+};
+
+I40E_CHECK_CMD_LENGTH(i40e_aqc_rollback_revision_update);
+
 /* OEM Post Update (indirect 0x0720)
  * no command data struct used
  */
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 6c6fb4de4..15f4e91a4 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -3717,6 +3717,35 @@ i40e_aq_nvm_update_in_process(struct i40e_hw *hw,
 	return status;
 }
 
+/**
+ * i40e_aq_min_rollback_rev_update - triggers an ow after update
+ * @hw: pointer to the hw struct
+ * @mode: opt-in mode, 1b for single module update, 0b for bulk update
+ * @module: module to be updated. Ignored if mode is 0b
+ * @min_rrev: value of the new minimal version. Ignored if mode is 0b
+ * @cmd_details: pointer to command details structure or NULL
+ **/
+enum i40e_status_code
+i40e_aq_min_rollback_rev_update(struct i40e_hw *hw, u8 mode, u8 module,
+				u32 min_rrev,
+				struct i40e_asq_cmd_details *cmd_details)
+{
+	struct i40e_aq_desc desc;
+	struct i40e_aqc_rollback_revision_update *cmd =
+		(struct i40e_aqc_rollback_revision_update *)&desc.params.raw;
+	enum i40e_status_code status;
+
+	i40e_fill_default_direct_cmd_desc(&desc,
+		i40e_aqc_opc_rollback_revision_update);
+	cmd->optin_mode = mode;
+	cmd->module_selected = module;
+	cmd->min_rrev = min_rrev;
+
+	status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
+
+	return status;
+}
+
 /**
  * i40e_aq_oem_post_update - triggers an OEM specific flow after update
  * @hw: pointer to the hw struct
diff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h
index 9a89f3002..124222e47 100644
--- a/drivers/net/i40e/base/i40e_prototype.h
+++ b/drivers/net/i40e/base/i40e_prototype.h
@@ -240,6 +240,10 @@ enum i40e_status_code i40e_aq_write_nvm_config(struct i40e_hw *hw,
 				u8 cmd_flags, void *data, u16 buf_size,
 				u16 element_count,
 				struct i40e_asq_cmd_details *cmd_details);
+enum i40e_status_code
+i40e_aq_min_rollback_rev_update(struct i40e_hw *hw, u8 mode, u8 module,
+				u32 min_rrev,
+				struct i40e_asq_cmd_details *cmd_details);
 enum i40e_status_code i40e_aq_oem_post_update(struct i40e_hw *hw,
 				void *buff, u16 buff_size,
 				struct i40e_asq_cmd_details *cmd_details);
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 4/7] net/i40e/base: fix Rx only for unicast promisc on VLAN
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
                     ` (2 preceding siblings ...)
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 3/7] net/i40e/base: add support for minimum rollback revision Guinan Sun
@ 2020-09-12  3:00   ` Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 5/7] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun, stable, Przemyslaw Patynowski

Set promiscuous mode to rx traffic only if VSI has VLANs configured.
Rename misleading PROMISC_TX bit to proper name.
Added I40E_AQC_SET_VSI_PROMISC_RX_ONLY during VSI unicast promiscuous
mode configuration with port VLAN.
Aligned unicast promiscuous with VLAN to the one without VLAN.
Previously other VFs could listen to unicast tx traffic of other VFs.

Fixes: 8db9e2a1b232 ("i40e: base driver")
Cc: stable@dpdk.org

Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h |  2 +-
 drivers/net/i40e/base/i40e_common.c     | 36 +++++++++++++++++++------
 2 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 65831ea7a..2ca41db5d 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -1222,7 +1222,7 @@ struct i40e_aqc_set_vsi_promiscuous_modes {
 #define I40E_AQC_SET_VSI_PROMISC_BROADCAST	0x04
 #define I40E_AQC_SET_VSI_DEFAULT		0x08
 #define I40E_AQC_SET_VSI_PROMISC_VLAN		0x10
-#define I40E_AQC_SET_VSI_PROMISC_TX		0x8000
+#define I40E_AQC_SET_VSI_PROMISC_RX_ONLY	0x8000
 	__le16	seid;
 #define I40E_AQC_VSI_PROM_CMD_SEID_MASK		0x3FF
 	__le16	vlan_tag;
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 15f4e91a4..cd8b27e40 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -2270,6 +2270,22 @@ enum i40e_status_code i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags,
 	return status;
 }
 
+/**
+ * i40e_hw_ver_ge
+ * @hw: pointer to the hw struct
+ * @maj: api major value
+ * @min: api minor value
+ *
+ * Assert whether current HW api version is greater/equal than provided.
+ **/
+static bool i40e_hw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
+{
+	if (hw->aq.api_maj_ver > maj ||
+	    (hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min))
+		return true;
+	return false;
+}
+
 /**
  * i40e_aq_add_vsi
  * @hw: pointer to the hw struct
@@ -2395,18 +2411,16 @@ enum i40e_status_code i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw,
 
 	if (set) {
 		flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST;
-		if (rx_only_promisc &&
-		    (((hw->aq.api_maj_ver == 1) && (hw->aq.api_min_ver >= 5)) ||
-		     (hw->aq.api_maj_ver > 1)))
-			flags |= I40E_AQC_SET_VSI_PROMISC_TX;
+		if (rx_only_promisc && i40e_hw_ver_ge(hw, 1, 5))
+			flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY;
 	}
 
 	cmd->promiscuous_flags = CPU_TO_LE16(flags);
 
 	cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST);
-	if (((hw->aq.api_maj_ver >= 1) && (hw->aq.api_min_ver >= 5)) ||
-	     (hw->aq.api_maj_ver > 1))
-		cmd->valid_flags |= CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_TX);
+	if (i40e_hw_ver_ge(hw, 1, 5))
+		cmd->valid_flags |=
+			CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY);
 
 	cmd->seid = CPU_TO_LE16(seid);
 	status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
@@ -2538,11 +2552,17 @@ enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw,
 	i40e_fill_default_direct_cmd_desc(&desc,
 					i40e_aqc_opc_set_vsi_promiscuous_modes);
 
-	if (enable)
+	if (enable) {
 		flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST;
+		if (i40e_hw_ver_ge(hw, 1, 5))
+			flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY;
+	}
 
 	cmd->promiscuous_flags = CPU_TO_LE16(flags);
 	cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST);
+	if (i40e_hw_ver_ge(hw, 1, 5))
+		cmd->valid_flags |=
+			CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY);
 	cmd->seid = CPU_TO_LE16(seid);
 	cmd->vlan_tag = CPU_TO_LE16(vid | I40E_AQC_SET_VSI_VLAN_VALID);
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 5/7] net/i40e/base: add EEE LPI status check for X722 adapters
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
                     ` (3 preceding siblings ...)
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 4/7] net/i40e/base: fix Rx only for unicast promisc on VLAN Guinan Sun
@ 2020-09-12  3:00   ` Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 6/7] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun, Dawid Lukwinski

Add reading LPI (low power idle) status for supported X722 devices.
If adapter's PHY supports EEE in current mode (device ID + link speed),
LPI status is read from PHY Clause 45 PCS status register.

Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index cd8b27e40..3be944e84 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -7098,15 +7098,23 @@ enum i40e_status_code i40e_get_phy_lpi_status(struct i40e_hw *hw,
 					      struct i40e_hw_port_stats *stat)
 {
 	enum i40e_status_code ret = I40E_SUCCESS;
+	bool eee_mrvl_phy;
+	bool eee_bcm_phy;
 	u32 val;
 
 	stat->rx_lpi_status = 0;
 	stat->tx_lpi_status = 0;
 
-	if ((hw->device_id == I40E_DEV_ID_10G_BASE_T_BC ||
-	     hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) &&
-	    (hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB ||
-	     hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB)) {
+	eee_bcm_phy =
+		(hw->device_id == I40E_DEV_ID_10G_BASE_T_BC ||
+		 hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) &&
+		(hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB ||
+		 hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB);
+	eee_mrvl_phy =
+		hw->device_id == I40E_DEV_ID_1G_BASE_T_X722;
+
+	if (eee_bcm_phy || eee_mrvl_phy) {
+		/* read Clause 45 PCS Status 1 register */
 		ret = i40e_aq_get_phy_register(hw,
 					       I40E_AQ_PHY_REG_ACCESS_EXTERNAL,
 					       I40E_BCM_PHY_PCS_STATUS1_PAGE,
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 6/7] net/i40e/base: fix PHY config param when enabling EEE
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
                     ` (4 preceding siblings ...)
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 5/7] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun
@ 2020-09-12  3:00   ` Guinan Sun
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 7/7] net/i40e/base: update version Guinan Sun
  2020-09-13  1:56   ` [dpdk-dev] [PATCH v2 0/7] update i40e base code Zhang, Qi Z
  7 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun, stable, Galazka Krzysztof

The i40e_enable_eee function did not copy phy_type_ext field
from current PHY configuration retrieved with Get PHY Abilities AQ.
It caused a misconfiguration of the PHY on devices supporting 2.5
and 5G speeds and prevented establishing link when only those
speeds were selected for advertisement.

Fixes: c61bcb0fe1b0 ("net/i40e/base: support Energy Efficient Ethernet")
Cc: stable@dpdk.org

Signed-off-by: Galazka Krzysztof <krzysztof.galazka@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 3be944e84..8e3db0756 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -6449,6 +6449,7 @@ enum i40e_status_code i40e_enable_eee(struct i40e_hw *hw, bool enable)
 
 	/* Cache current configuration */
 	config.phy_type = abilities.phy_type;
+	config.phy_type_ext = abilities.phy_type_ext;
 	config.link_speed = abilities.link_speed;
 	config.abilities = abilities.abilities |
 			   I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [dpdk-dev] [PATCH v2 7/7] net/i40e/base: update version
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
                     ` (5 preceding siblings ...)
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 6/7] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun
@ 2020-09-12  3:00   ` Guinan Sun
  2020-09-13  1:56   ` [dpdk-dev] [PATCH v2 0/7] update i40e base code Zhang, Qi Z
  7 siblings, 0 replies; 24+ messages in thread
From: Guinan Sun @ 2020-09-12  3:00 UTC (permalink / raw)
  To: dev; +Cc: Jeff Guo, Beilei Xing, Guinan Sun

Update base code version in readme.

Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
 drivers/net/i40e/base/README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/README b/drivers/net/i40e/base/README
index 58174d472..6af299311 100644
--- a/drivers/net/i40e/base/README
+++ b/drivers/net/i40e/base/README
@@ -6,7 +6,7 @@ Intel® I40E driver
 ==================
 
 This directory contains source code of FreeBSD i40e driver of version
-cid-i40e.2020.07.16.tar.gz released by the team which develops
+cid-i40e.2020.08.27.tar.gz released by the team which develops
 basic drivers for any i40e NIC. The directory of base/ contains the
 original source package.
 This driver is valid for the product(s) listed below
-- 
2.17.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/7] update i40e base code
  2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
                     ` (6 preceding siblings ...)
  2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 7/7] net/i40e/base: update version Guinan Sun
@ 2020-09-13  1:56   ` Zhang, Qi Z
  7 siblings, 0 replies; 24+ messages in thread
From: Zhang, Qi Z @ 2020-09-13  1:56 UTC (permalink / raw)
  To: Sun, GuinanX, dev; +Cc: Guo, Jia, Xing, Beilei, Sun, GuinanX



> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Guinan Sun
> Sent: Saturday, September 12, 2020 11:01 AM
> To: dev@dpdk.org
> Cc: Guo, Jia <jia.guo@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Sun,
> GuinanX <guinanx.sun@intel.com>
> Subject: [dpdk-dev] [PATCH v2 0/7] update i40e base code
> 
> update i40e base code.
> 
> source code of i40e driver:
> cid-i40e.2020.08.27.tar.gz dropped by the team which develop basic drivers
> for any i40e NIC.
> 
> changelog in ND share repo:
> From c0bfc1c07bb3 ("i40e-shared: Add VLAN field for input set") To
> 1a82d59f0797 ("i40e-shared: Fix PHY configuration parameters when enabling
> EEE")
> 
> The following commits are ignored.
> 5b7d5a698092 ("i40e-shared: use linux packing style")
> f16fa495c503 ("i40e-shared: Fix compilation issue with __packed")
> c0bfc1c07bb3 ("i40e-shared: Add VLAN field for input set") dcc3e90e9acd
> ("i40e-shared: enable pipe monitor thresholds")
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
> v2:
> * Remove two useless patches for dpdk.
> * Modify commit message.
> 
> Guinan Sun (7):
>   net/i40e/base: update FW API version
>   net/i40e/base: fix missing function header arguments
>   net/i40e/base: add support for minimum rollback revision
>   net/i40e/base: fix Rx only for unicast promisc on VLAN
>   net/i40e/base: add EEE LPI status check for X722 adapters
>   net/i40e/base: fix PHY config param when enabling EEE
>   net/i40e/base: update version
> 
>  drivers/net/i40e/base/README            |  2 +-
>  drivers/net/i40e/base/i40e_adminq_cmd.h | 24 +++++++-
>  drivers/net/i40e/base/i40e_common.c     | 82 +++++++++++++++++++++----
>  drivers/net/i40e/base/i40e_dcb.c        |  3 +-
>  drivers/net/i40e/base/i40e_prototype.h  |  4 ++
>  5 files changed, 98 insertions(+), 17 deletions(-)
> 
> --
> 2.17.1

V1 has been reverted from dpdk-next-net-intel.
V2 has been applied to dpdk-next-intel-intel.

Thanks
Qi


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-09-13  1:57 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-05  2:49 [dpdk-dev] [PATCH 0/9] update i40e base code Guinan Sun
2020-09-05  2:49 ` [dpdk-dev] [PATCH 1/9] net/i40e/base: add VLAN field for input set Guinan Sun
2020-09-07 11:09   ` Ferruh Yigit
2020-09-05  2:49 ` [dpdk-dev] [PATCH 2/9] net/i40e/base: update FW API version Guinan Sun
2020-09-07 11:10   ` Ferruh Yigit
2020-09-05  2:49 ` [dpdk-dev] [PATCH 3/9] net/i40e/base: enable pipe monitor thresholds Guinan Sun
2020-09-07 11:11   ` Ferruh Yigit
2020-09-05  2:49 ` [dpdk-dev] [PATCH 4/9] net/i40e/base: fix missing function header arguments Guinan Sun
2020-09-08  8:03   ` Yang, Qiming
2020-09-05  2:49 ` [dpdk-dev] [PATCH 5/9] net/i40e/base: add support for minimum rollback revision Guinan Sun
2020-09-05  2:49 ` [dpdk-dev] [PATCH 6/9] net/i40e/base: fix Rx only for unicast promisc on VLAN Guinan Sun
2020-09-05  2:49 ` [dpdk-dev] [PATCH 7/9] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun
2020-09-05  2:49 ` [dpdk-dev] [PATCH 8/9] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun
2020-09-05  2:49 ` [dpdk-dev] [PATCH 9/9] net/i40e/base: update version Guinan Sun
2020-09-07  6:27 ` [dpdk-dev] [PATCH 0/9] update i40e base code Zhang, Qi Z
2020-09-12  3:00 ` [dpdk-dev] [PATCH v2 0/7] " Guinan Sun
2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 1/7] net/i40e/base: update FW API version Guinan Sun
2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 2/7] net/i40e/base: fix missing function header arguments Guinan Sun
2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 3/7] net/i40e/base: add support for minimum rollback revision Guinan Sun
2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 4/7] net/i40e/base: fix Rx only for unicast promisc on VLAN Guinan Sun
2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 5/7] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun
2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 6/7] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun
2020-09-12  3:00   ` [dpdk-dev] [PATCH v2 7/7] net/i40e/base: update version Guinan Sun
2020-09-13  1:56   ` [dpdk-dev] [PATCH v2 0/7] update i40e base code Zhang, Qi Z

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).