DPDK patches and discussions
 help / color / Atom feed
From: Xiaolong Ye <xiaolong.ye@intel.com>
To: Beilei Xing <beilei.xing@intel.com>, Qi Zhang <qi.z.zhang@intel.com>
Cc: dev@dpdk.org, Xiaolong Ye <xiaolong.ye@intel.com>,
	Piotr Azarewicz <piotr.azarewicz@intel.com>
Subject: [dpdk-dev] [PATCH v4 19/36] net/i40e/base: extend PHY access AQ command
Date: Mon, 13 Jan 2020 10:39:31 +0800
Message-ID: <20200113023949.26718-20-xiaolong.ye@intel.com> (raw)
In-Reply-To: <20200113023949.26718-1-xiaolong.ye@intel.com>

Currently FW use MDIO I/F number corresponded with current PF for PHY
access. This code allow to specify used MDIO I/F number.

Signed-off-by: Piotr Azarewicz <piotr.azarewicz@intel.com>
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/i40e/base/i40e_adminq.c     | 57 +++++++++++++++++++++++
 drivers/net/i40e/base/i40e_adminq_cmd.h |  6 ++-
 drivers/net/i40e/base/i40e_common.c     | 62 ++++++++++++++++++++-----
 drivers/net/i40e/base/i40e_prototype.h  | 27 +++++++----
 drivers/net/i40e/base/i40e_type.h       |  1 +
 5 files changed, 132 insertions(+), 21 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c
index 52bea842f..96e170e12 100644
--- a/drivers/net/i40e/base/i40e_adminq.c
+++ b/drivers/net/i40e/base/i40e_adminq.c
@@ -569,6 +569,57 @@ STATIC void i40e_resume_aq(struct i40e_hw *hw)
 }
 #endif /* PF_DRIVER */
 
+/**
+ *  i40e_set_hw_flags - set HW flags
+ *  @hw: pointer to the hardware structure
+ **/
+STATIC void i40e_set_hw_flags(struct i40e_hw *hw)
+{
+	struct i40e_adminq_info *aq = &hw->aq;
+
+	hw->flags = 0;
+
+	switch (hw->mac.type) {
+	case I40E_MAC_XL710:
+		if (aq->api_maj_ver > 1 ||
+		    (aq->api_maj_ver == 1 &&
+		     aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_XL710)) {
+			hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE;
+			hw->flags |= I40E_HW_FLAG_FW_LLDP_STOPPABLE;
+			/* The ability to RX (not drop) 802.1ad frames */
+			hw->flags |= I40E_HW_FLAG_802_1AD_CAPABLE;
+		}
+		break;
+	case I40E_MAC_X722:
+		hw->flags |= I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE |
+			     I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK;
+
+		if (aq->api_maj_ver > 1 ||
+		    (aq->api_maj_ver == 1 &&
+		     aq->api_min_ver >= I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722))
+			hw->flags |= I40E_HW_FLAG_FW_LLDP_STOPPABLE;
+		/* fall through */
+	default:
+		break;
+	}
+
+	/* Newer versions of firmware require lock when reading the NVM */
+	if (aq->api_maj_ver > 1 ||
+	    (aq->api_maj_ver == 1 &&
+	     aq->api_min_ver >= 5))
+		hw->flags |= I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK;
+
+	if (aq->api_maj_ver > 1 ||
+	    (aq->api_maj_ver == 1 &&
+	     aq->api_min_ver >= 8))
+		hw->flags |= I40E_HW_FLAG_FW_LLDP_PERSISTENT;
+
+	if (aq->api_maj_ver > 1 ||
+	    (aq->api_maj_ver == 1 &&
+	     aq->api_min_ver >= 9))
+		hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED;
+}
+
 /**
  *  i40e_init_adminq - main initialization routine for Admin Queue
  *  @hw: pointer to the hardware structure
@@ -636,6 +687,12 @@ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
 	if (ret_code != I40E_SUCCESS)
 		goto init_adminq_free_arq;
 
+	/*
+	 * Some features were introduced in different FW API version
+	 * for different MAC type.
+	 */
+	i40e_set_hw_flags(hw);
+
 	/* get the NVM version info */
 	i40e_read_nvm_word(hw, I40E_SR_NVM_DEV_STARTER_VERSION,
 			   &hw->nvm.version);
diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index d718c7326..7181e0f58 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -2310,7 +2310,11 @@ struct i40e_aqc_phy_register_access {
 #define I40E_AQ_PHY_REG_ACCESS_EXTERNAL_MODULE	2
 	u8	dev_addres;
 	u8	cmd_flags;
-#define I40E_AQ_PHY_REG_ACCESS_DONT_CHANGE_QSFP_PAGE	1
+#define I40E_AQ_PHY_REG_ACCESS_DONT_CHANGE_QSFP_PAGE	0x01
+#define I40E_AQ_PHY_REG_ACCESS_SET_MDIO_IF_NUMBER	0x02
+#define I40E_AQ_PHY_REG_ACCESS_MDIO_IF_NUMBER_SHIFT	2
+#define I40E_AQ_PHY_REG_ACCESS_MDIO_IF_NUMBER_MASK	(0x3 << \
+		I40E_AQ_PHY_REG_ACCESS_MDIO_IF_NUMBER_SHIFT)
 	u8	reserved1;
 	__le32	reg_address;
 	__le32	reg_value;
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 9d76b6824..ee081d6ad 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -7239,23 +7239,52 @@ void i40e_write_rx_ctl(struct i40e_hw *hw, u32 reg_addr, u32 reg_val)
 		wr32(hw, reg_addr, reg_val);
 }
 
-#ifdef PF_DRIVER
 /**
- * i40e_aq_set_phy_register
+ * i40e_mdio_if_number_selection - MDIO I/F number selection
+ * @hw: pointer to the hw struct
+ * @set_mdio: use MDIO I/F number specified by mdio_num
+ * @mdio_num: MDIO I/F number
+ * @cmd: pointer to PHY Register command structure
+ **/
+static void
+i40e_mdio_if_number_selection(struct i40e_hw *hw, bool set_mdio, u8 mdio_num,
+			      struct i40e_aqc_phy_register_access *cmd)
+{
+	if (set_mdio && cmd->phy_interface == I40E_AQ_PHY_REG_ACCESS_EXTERNAL) {
+		if (hw->flags & I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED)
+			cmd->cmd_flags |=
+				I40E_AQ_PHY_REG_ACCESS_SET_MDIO_IF_NUMBER |
+				((mdio_num <<
+				I40E_AQ_PHY_REG_ACCESS_MDIO_IF_NUMBER_SHIFT) &
+				I40E_AQ_PHY_REG_ACCESS_MDIO_IF_NUMBER_MASK);
+		else
+			i40e_debug(hw, I40E_DEBUG_PHY,
+				   "MDIO I/F number selection not supported by current FW version.\n");
+	}
+}
+
+/**
+ * i40e_aq_set_phy_register_ext
  * @hw: pointer to the hw struct
  * @phy_select: select which phy should be accessed
  * @dev_addr: PHY device address
  * @page_change: enable auto page change
+ * @set_mdio: use MDIO I/F number specified by mdio_num
+ * @mdio_num: MDIO I/F number
  * @reg_addr: PHY register address
  * @reg_val: new register value
  * @cmd_details: pointer to command details structure or NULL
  *
  * Write the external PHY register.
+ * NOTE: In common cases MDIO I/F number should not be changed, thats why you
+ * may use simple wrapper i40e_aq_set_phy_register.
  **/
-enum i40e_status_code i40e_aq_set_phy_register(struct i40e_hw *hw,
-				u8 phy_select, u8 dev_addr, bool page_change,
-				u32 reg_addr, u32 reg_val,
-				struct i40e_asq_cmd_details *cmd_details)
+enum i40e_status_code
+i40e_aq_set_phy_register_ext(struct i40e_hw *hw,
+			     u8 phy_select, u8 dev_addr, bool page_change,
+			     bool set_mdio, u8 mdio_num,
+			     u32 reg_addr, u32 reg_val,
+			     struct i40e_asq_cmd_details *cmd_details)
 {
 	struct i40e_aq_desc desc;
 	struct i40e_aqc_phy_register_access *cmd =
@@ -7273,27 +7302,35 @@ enum i40e_status_code i40e_aq_set_phy_register(struct i40e_hw *hw,
 	if (!page_change)
 		cmd->cmd_flags = I40E_AQ_PHY_REG_ACCESS_DONT_CHANGE_QSFP_PAGE;
 
+	i40e_mdio_if_number_selection(hw, set_mdio, mdio_num, cmd);
+
 	status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
 
 	return status;
 }
 
 /**
- * i40e_aq_get_phy_register
+ * i40e_aq_get_phy_register_ext
  * @hw: pointer to the hw struct
  * @phy_select: select which phy should be accessed
  * @dev_addr: PHY device address
  * @page_change: enable auto page change
+ * @set_mdio: use MDIO I/F number specified by mdio_num
+ * @mdio_num: MDIO I/F number
  * @reg_addr: PHY register address
  * @reg_val: read register value
  * @cmd_details: pointer to command details structure or NULL
  *
  * Read the external PHY register.
+ * NOTE: In common cases MDIO I/F number should not be changed, thats why you
+ * may use simple wrapper i40e_aq_get_phy_register.
  **/
-enum i40e_status_code i40e_aq_get_phy_register(struct i40e_hw *hw,
-				u8 phy_select, u8 dev_addr, bool page_change,
-				u32 reg_addr, u32 *reg_val,
-				struct i40e_asq_cmd_details *cmd_details)
+enum i40e_status_code
+i40e_aq_get_phy_register_ext(struct i40e_hw *hw,
+			     u8 phy_select, u8 dev_addr, bool page_change,
+			     bool set_mdio, u8 mdio_num,
+			     u32 reg_addr, u32 *reg_val,
+			     struct i40e_asq_cmd_details *cmd_details)
 {
 	struct i40e_aq_desc desc;
 	struct i40e_aqc_phy_register_access *cmd =
@@ -7310,6 +7347,8 @@ enum i40e_status_code i40e_aq_get_phy_register(struct i40e_hw *hw,
 	if (!page_change)
 		cmd->cmd_flags = I40E_AQ_PHY_REG_ACCESS_DONT_CHANGE_QSFP_PAGE;
 
+	i40e_mdio_if_number_selection(hw, set_mdio, mdio_num, cmd);
+
 	status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
 	if (!status)
 		*reg_val = LE32_TO_CPU(cmd->reg_value);
@@ -7317,7 +7356,6 @@ enum i40e_status_code i40e_aq_get_phy_register(struct i40e_hw *hw,
 	return status;
 }
 
-#endif /* PF_DRIVER */
 /**
  * i40e_aq_run_phy_activity
  * @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 748a7a275..fcfe497f1 100644
--- a/drivers/net/i40e/base/i40e_prototype.h
+++ b/drivers/net/i40e/base/i40e_prototype.h
@@ -548,14 +548,25 @@ enum i40e_status_code i40e_aq_rx_ctl_write_register(struct i40e_hw *hw,
 				u32 reg_addr, u32 reg_val,
 				struct i40e_asq_cmd_details *cmd_details);
 void i40e_write_rx_ctl(struct i40e_hw *hw, u32 reg_addr, u32 reg_val);
-enum i40e_status_code i40e_aq_set_phy_register(struct i40e_hw *hw,
-				u8 phy_select, u8 dev_addr, bool page_change,
-				u32 reg_addr, u32 reg_val,
-				struct i40e_asq_cmd_details *cmd_details);
-enum i40e_status_code i40e_aq_get_phy_register(struct i40e_hw *hw,
-				u8 phy_select, u8 dev_addr, bool page_change,
-				u32 reg_addr, u32 *reg_val,
-				struct i40e_asq_cmd_details *cmd_details);
+enum i40e_status_code
+i40e_aq_set_phy_register_ext(struct i40e_hw *hw,
+			     u8 phy_select, u8 dev_addr, bool page_change,
+			     bool set_mdio, u8 mdio_num,
+			     u32 reg_addr, u32 reg_val,
+			     struct i40e_asq_cmd_details *cmd_details);
+enum i40e_status_code
+i40e_aq_get_phy_register_ext(struct i40e_hw *hw,
+			     u8 phy_select, u8 dev_addr, bool page_change,
+			     bool set_mdio, u8 mdio_num,
+			     u32 reg_addr, u32 *reg_val,
+			     struct i40e_asq_cmd_details *cmd_details);
+
+/* Convenience wrappers for most common use case */
+#define i40e_aq_set_phy_register(hw, ps, da, pc, ra, rv, cd) \
+	i40e_aq_set_phy_register_ext(hw, ps, da, pc, false, 0, ra, rv, cd)
+#define i40e_aq_get_phy_register(hw, ps, da, pc, ra, rv, cd) \
+	i40e_aq_get_phy_register_ext(hw, ps, da, pc, false, 0, ra, rv, cd)
+
 enum i40e_status_code
 i40e_aq_run_phy_activity(struct i40e_hw *hw, u16 activity_id, u32 opcode,
 			 u32 *cmd_status, u32 *data0, u32 *data1,
diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h
index f0e4b667a..b380193f7 100644
--- a/drivers/net/i40e/base/i40e_type.h
+++ b/drivers/net/i40e/base/i40e_type.h
@@ -743,6 +743,7 @@ struct i40e_hw {
 #define I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK BIT_ULL(3)
 #define I40E_HW_FLAG_FW_LLDP_STOPPABLE	    BIT_ULL(4)
 #define I40E_HW_FLAG_FW_LLDP_PERSISTENT     BIT_ULL(5)
+#define I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED BIT_ULL(6)
 	u64 flags;
 
 	/* Used in set switch config AQ command */
-- 
2.17.1


  parent reply index

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-02  7:48 [dpdk-dev] [PATCH 00/69] update for i40e base code Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 01/69] net/i40e/base: add support for feature flags Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 02/69] net/i40e/base: add ESXi support to transition to flat NVM Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 03/69] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 04/69] net/i40e/base: change buffer address Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 05/69] net/i40e/base: change for X722 10G-T ports LED Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 06/69] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 07/69] net/i40e/base: changed FW API version to 1.8 Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 08/69] net/i40e/base: change misleading error message Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 09/69] net/i40e/base: shadowRAM checksum calculation change Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 10/69] net/i40e/base: update Fort Park FW API to 1.8 Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 11/69] net/i40e/base: further implementation of LLDP Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 12/69] net/i40e/base: add new device ids for Carlsville Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 13/69] net/i40e/base: add check for MAC type Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 14/69] net/i40e/base: adding flags for PHY types Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 15/69] net/i40e/base: revert ShadowRAM checksum calculation change Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 16/69] net/i40e/base: improve AQ log granularity Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 17/69] net/i40e/base: change condition checks Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 18/69] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 19/69] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 20/69] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 21/69] net/i40e/base: change reading LPI state Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 22/69] net/i40e/base: change for missing "link modes" Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 23/69] net/i40e/base: add reading LPI counters Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 24/69] net/i40e/base: update virtchnl.h Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 25/69] net/i40e/base: add opcodes reserved comments Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 26/69] net/i40e/base: revert Fix missing "fall through" comments Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 27/69] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 28/69] net/i40e/base: update status codes Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 29/69] net/i40e/base: use TX_LPI_EN bit to fully turn off EEE Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 30/69] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 31/69] net/i40e/base: extend PHY access AQ command Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 32/69] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2019-12-02  7:48 ` [dpdk-dev] [PATCH 33/69] net/i40e/base: check_recovery_mode had wrong if statement Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 34/69] net/i40e/base: update FVL FW API version to 1.9 Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 35/69] net/i40e/base: update FPK " Xiaolong Ye
2019-12-02 19:03   ` Stillwell Jr, Paul M
2019-12-02  7:49 ` [dpdk-dev] [PATCH 36/69] net/i40e/base: add persistent lldp support Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 37/69] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 38/69] net/i40e/base: change retrying Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 39/69] net/i40e/base: revert fix for X722 10G-T ports LED Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 40/69] net/i40e/base: change link flapping on 25g cards Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 41/69] net/i40e/base: changeed code wrapping for CARLSVILLE_HW Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 42/69] net/i40e/base: change long redundant define names Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 43/69] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 44/69] net/i40e/base: change for persistent lldp support Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 45/69] net/i40e/base: change wrong 'Advertised FEC modes' Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 46/69] net/i40e/base: implement lpi statistics read from registers Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 47/69] net/i40e/base: add Flow Director defines Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 48/69] net/i40e/base: removed unreachable code Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 49/69] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 50/69] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 51/69] net/i40e/base: add MRR field defines Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 52/69] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2019-12-02 19:13   ` Stillwell Jr, Paul M
2019-12-02  7:49 ` [dpdk-dev] [PATCH 53/69] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 54/69] net/i40e/base: change for reading lpi statistics Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 55/69] net/i40e/base: update FVL FW API version to 1.10 Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 56/69] net/i40e/base: add CRC stripping capability Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 57/69] net/i40e/base: update virtchnl header with advanced features Xiaolong Ye
2019-12-02 19:14   ` Stillwell Jr, Paul M
2019-12-02  7:49 ` [dpdk-dev] [PATCH 58/69] net/i40e/base: add limits for nested structures Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 59/69] net/i40e/base: put the check for zero nested elements higher Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 60/69] net/i40e/base: clarify requirements Xiaolong Ye
2019-12-02 16:33   ` Williams, Mitch A
2019-12-02  7:49 ` [dpdk-dev] [PATCH 61/69] net/i40e/base: change 'Unknown bps' Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 62/69] net/i40e/base: add USO offload flag for AVF Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 63/69] net/i40e/base: update the interrupt mapping and negotiation Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 64/69] net/i40e/base: add inline ipsec data struct and commands Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 65/69] net/i40e/base: change all zero-sized arrays Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 66/69] net/i40e/base: support for additional flow type Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 67/69] net/i40e/base: change GET/SET_RSS_LUT valid_len check Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 68/69] net/i40e/base: add missing 0 length checks Xiaolong Ye
2019-12-02  7:49 ` [dpdk-dev] [PATCH 69/69] net/i40e/base: update version Xiaolong Ye
2019-12-12 15:20 ` [dpdk-dev] [PATCH v2 00/36] update for i40e base code Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 01/36] net/i40e/base: add support for feature flags Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 02/36] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 03/36] net/i40e/base: change buffer address Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 04/36] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 05/36] net/i40e/base: change misleading error message Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 06/36] net/i40e/base: further implementation of LLDP Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 07/36] net/i40e/base: add new device ids Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 08/36] net/i40e/base: add check for MAC type Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 09/36] net/i40e/base: adding flags for PHY types Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 10/36] net/i40e/base: improve AQ log granularity Xiaolong Ye
2019-12-12 15:20   ` [dpdk-dev] [PATCH v2 11/36] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 12/36] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 13/36] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 14/36] net/i40e/base: change for missing "link modes" Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 15/36] net/i40e/base: add reading LPI counters Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 16/36] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 17/36] net/i40e/base: update status codes Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 18/36] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 19/36] net/i40e/base: extend PHY access AQ command Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 20/36] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 21/36] net/i40e/base: add FWS1B register masks Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 22/36] net/i40e/base: update FW API version Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 23/36] net/i40e/base: add persistent lldp support Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 24/36] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 25/36] net/i40e/base: change retrying logic Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 26/36] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 27/36] net/i40e/base: change wrong 'Advertised FEC modes' Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 28/36] net/i40e/base: add Flow Director defines Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 29/36] net/i40e/base: removed unreachable code Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 30/36] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 31/36] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 32/36] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 33/36] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 34/36] net/i40e/base: add CRC stripping capability Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 35/36] net/i40e/base: enable LED blinking flow Xiaolong Ye
2019-12-12 15:21   ` [dpdk-dev] [PATCH v2 36/36] net/i40e/base: add new link speed constants Xiaolong Ye
2019-12-16  2:43 ` [dpdk-dev] [PATCH v3 00/36] update for i40e base code Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 01/36] net/i40e/base: add support for feature flags Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 02/36] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 03/36] net/i40e/base: change buffer address Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 04/36] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 05/36] net/i40e/base: change misleading error message Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 06/36] net/i40e/base: further implementation of LLDP Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 07/36] net/i40e/base: add new device ids Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 08/36] net/i40e/base: add check for MAC type Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 09/36] net/i40e/base: adding flags for PHY types Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 10/36] net/i40e/base: improve AQ log granularity Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 11/36] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 12/36] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 13/36] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 14/36] net/i40e/base: change for missing "link modes" Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 15/36] net/i40e/base: add reading LPI counters Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 16/36] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 17/36] net/i40e/base: update status codes Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 18/36] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 19/36] net/i40e/base: extend PHY access AQ command Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 20/36] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 21/36] net/i40e/base: add FWS1B register masks Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 22/36] net/i40e/base: update FW API version Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 23/36] net/i40e/base: add persistent lldp support Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 24/36] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2019-12-17 10:39     ` Kwapulinski, Piotr
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 25/36] net/i40e/base: change retrying logic Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 26/36] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 27/36] net/i40e/base: change wrong 'Advertised FEC modes' Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 28/36] net/i40e/base: add Flow Director defines Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 29/36] net/i40e/base: removed unreachable code Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 30/36] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 31/36] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 32/36] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 33/36] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2019-12-17 10:40     ` Kwapulinski, Piotr
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 34/36] net/i40e/base: add CRC stripping capability Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 35/36] net/i40e/base: enable LED blinking flow Xiaolong Ye
2019-12-16  2:43   ` [dpdk-dev] [PATCH v3 36/36] net/i40e/base: add new link speed constants Xiaolong Ye
2019-12-27  5:37     ` Xing, Beilei
2020-01-02  9:58       ` Loktionov, Aleksandr
2020-01-13  2:39 ` [dpdk-dev] [PATCH v4 00/36] update for i40e base code Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 01/36] net/i40e/base: add support for feature flags Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 02/36] net/i40e/base: increase max VSI count for VFs Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 03/36] net/i40e/base: change buffer address Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 04/36] net/i40e/base: decouple cfg_lldp_mib_change from init_dcb Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 05/36] net/i40e/base: change misleading error message Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 06/36] net/i40e/base: further implementation of LLDP Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 07/36] net/i40e/base: add new device ids Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 08/36] net/i40e/base: add check for MAC type Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 09/36] net/i40e/base: adding flags for PHY types Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 10/36] net/i40e/base: improve AQ log granularity Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 11/36] net/i40e/base: add getter for FW LLDP agent status Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 12/36] net/i40e/base: add support for Energy Efficient Ethernet Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 13/36] net/i40e/base: read LPI status from external PHY Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 14/36] net/i40e/base: change for missing "link modes" Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 15/36] net/i40e/base: add reading LPI counters Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 16/36] net/i40e/base: backport style changes from upstream Linux Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 17/36] net/i40e/base: update status codes Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 18/36] net/i40e/base: change of the incorrect Tx descriptors number Xiaolong Ye
2020-01-13  2:39   ` Xiaolong Ye [this message]
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 20/36] net/i40e/base: add drop mode parameter to set MAC config Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 21/36] net/i40e/base: add FWS1B register masks Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 22/36] net/i40e/base: update FW API version Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 23/36] net/i40e/base: add persistent lldp support Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 24/36] net/i40e/base: make i40e_set_mac_type() public Xiaolong Ye
2020-01-13  8:19     ` Kwapulinski, Piotr
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 25/36] net/i40e/base: fix retrying logic Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 26/36] net/i40e/base: mark additional missing bits as reserved Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 27/36] net/i40e/base: fix wrong 'Advertised FEC modes' Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 28/36] net/i40e/base: add Flow Director defines Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 29/36] net/i40e/base: removed unreachable code Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 30/36] net/i40e/base: set PHY Access flag on X722 Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 31/36] net/i40e/base: implement reading lpi statistics Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 32/36] net/i40e/base: exposing missing LED functionality Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 33/36] net/i40e/base: introduce firmware EMP reset register offsets Xiaolong Ye
2020-01-13  8:19     ` Kwapulinski, Piotr
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 34/36] net/i40e/base: add CRC stripping capability Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 35/36] net/i40e/base: enable LED blinking flow Xiaolong Ye
2020-01-13  2:39   ` [dpdk-dev] [PATCH v4 36/36] net/i40e/base: add new link speed constants Xiaolong Ye
2020-01-13  2:54   ` [dpdk-dev] [PATCH v4 00/36] update for i40e base code Zhang, Qi Z
2020-01-13  3:26   ` Xing, Beilei
2020-01-13  5:59     ` Ye, Xiaolong
2020-01-15 18:42       ` Kevin Traynor
2020-02-03 14:09       ` Kevin Traynor
2020-02-04  3:23         ` Ye Xiaolong
2020-02-07  9:36           ` Kevin Traynor

Reply instructions:

You may reply publically 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=20200113023949.26718-20-xiaolong.ye@intel.com \
    --to=xiaolong.ye@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=piotr.azarewicz@intel.com \
    --cc=qi.z.zhang@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

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox