All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qi Zhang <qi.z.zhang@intel.com>
To: wenzhuo.lu@intel.com, qiming.yang@intel.com
Cc: dev@dpdk.org, paul.m.stillwell.jr@intel.com,
	ferruh.yigit@intel.com, Qi Zhang <qi.z.zhang@intel.com>
Subject: [PATCH v4 03/38] net/ice/base: add two helper functions
Date: Mon, 25 Mar 2019 13:44:17 +0800	[thread overview]
Message-ID: <20190325054452.2616-4-qi.z.zhang@intel.com> (raw)
In-Reply-To: <20190325054452.2616-1-qi.z.zhang@intel.com>

Add two helper functions in common module.
1. ice_aq_set_mac_cfg to help configure maximum frame size with AQ
command
2. ice_get_ctx help to extract context bits from a packet structure.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Reviewed-by: Qiming Yang <qiming.yang@intel.com>
Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ice/base/ice_adminq_cmd.h |  20 +++
 drivers/net/ice/base/ice_common.c     | 282 ++++++++++++++++++++++++++++++++++
 drivers/net/ice/base/ice_common.h     |   4 +
 3 files changed, 306 insertions(+)

diff --git a/drivers/net/ice/base/ice_adminq_cmd.h b/drivers/net/ice/base/ice_adminq_cmd.h
index 5a599280e..feb980475 100644
--- a/drivers/net/ice/base/ice_adminq_cmd.h
+++ b/drivers/net/ice/base/ice_adminq_cmd.h
@@ -1168,6 +1168,25 @@ struct ice_aqc_set_phy_cfg_data {
 };
 
 
+/* Set MAC Config command data structure (direct 0x0603) */
+struct ice_aqc_set_mac_cfg {
+	__le16 max_frame_size;
+	u8 params;
+#define ICE_AQ_SET_MAC_PACE_S		3
+#define ICE_AQ_SET_MAC_PACE_M		(0xF << ICE_AQ_SET_MAC_PACE_S)
+#define ICE_AQ_SET_MAC_PACE_TYPE_M	BIT(7)
+#define ICE_AQ_SET_MAC_PACE_TYPE_RATE	0
+#define ICE_AQ_SET_MAC_PACE_TYPE_FIXED	ICE_AQ_SET_MAC_PACE_TYPE_M
+	u8 tx_tmr_priority;
+	__le16 tx_tmr_value;
+	__le16 fc_refresh_threshold;
+	u8 drop_opts;
+#define ICE_AQ_SET_MAC_AUTO_DROP_MASK		BIT(0)
+#define ICE_AQ_SET_MAC_AUTO_DROP_NONE		0
+#define ICE_AQ_SET_MAC_AUTO_DROP_BLOCKING_PKTS	BIT(0)
+	u8 reserved[7];
+};
+
 
 /* Restart AN command data structure (direct 0x0605)
  * Also used for response, with only the lport_num field present.
@@ -1782,6 +1801,7 @@ struct ice_aq_desc {
 		struct ice_aqc_get_clear_fw_log get_clear_fw_log;
 		struct ice_aqc_set_mac_lb set_mac_lb;
 		struct ice_aqc_alloc_free_res_cmd sw_res_ctrl;
+		struct ice_aqc_set_mac_cfg set_mac_cfg;
 		struct ice_aqc_set_event_mask set_event_mask;
 		struct ice_aqc_get_link_status get_link_status;
 	} params;
diff --git a/drivers/net/ice/base/ice_common.c b/drivers/net/ice/base/ice_common.c
index bcfa3014b..392183375 100644
--- a/drivers/net/ice/base/ice_common.c
+++ b/drivers/net/ice/base/ice_common.c
@@ -423,6 +423,74 @@ static void ice_init_flex_flds(struct ice_hw *hw, enum ice_rxdid prof_id)
 	}
 }
 
+/**
+ * ice_aq_set_mac_cfg
+ * @hw: pointer to the HW struct
+ * @max_frame_size: Maximum Frame Size to be supported
+ * @cd: pointer to command details structure or NULL
+ *
+ * Set MAC configuration (0x0603)
+ */
+enum ice_status
+ice_aq_set_mac_cfg(struct ice_hw *hw, u16 max_frame_size, struct ice_sq_cd *cd)
+{
+	u16 fc_threshold_val, tx_timer_val;
+	struct ice_aqc_set_mac_cfg *cmd;
+	struct ice_port_info *pi;
+	struct ice_aq_desc desc;
+	enum ice_status status;
+	u8 port_num = 0;
+	bool link_up;
+	u32 reg_val;
+
+	cmd = &desc.params.set_mac_cfg;
+
+	if (max_frame_size == 0)
+		return ICE_ERR_PARAM;
+
+	ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_set_mac_cfg);
+
+	cmd->max_frame_size = CPU_TO_LE16(max_frame_size);
+
+	/* Retrieve the current data_pacing value in FW*/
+	pi = &hw->port_info[port_num];
+
+	/* We turn on the get_link_info so that ice_update_link_info(...)
+	 * can be called.
+	 */
+	pi->phy.get_link_info = 1;
+
+	status = ice_get_link_status(pi, &link_up);
+
+	if (status)
+		return status;
+
+	cmd->params = pi->phy.link_info.pacing;
+
+	/* We read back the transmit timer and fc threshold value of
+	 * LFC. Thus, we will use index =
+	 * PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX.
+	 *
+	 * Also, because we are opearating on transmit timer and fc
+	 * threshold of LFC, we don't turn on any bit in tx_tmr_priority
+	 */
+#define IDX_OF_LFC PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_MAX_INDEX
+
+	/* Retrieve the transmit timer */
+	reg_val = rd32(hw,
+		       PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA(IDX_OF_LFC));
+	tx_timer_val = reg_val &
+		PRTMAC_HSEC_CTL_TX_PAUSE_QUANTA_HSEC_CTL_TX_PAUSE_QUANTA_M;
+	cmd->tx_tmr_value = CPU_TO_LE16(tx_timer_val);
+
+	/* Retrieve the fc threshold */
+	reg_val = rd32(hw,
+		       PRTMAC_HSEC_CTL_TX_PAUSE_REFRESH_TIMER(IDX_OF_LFC));
+	fc_threshold_val = reg_val & MAKEMASK(0xFFFF, 0);
+	cmd->fc_refresh_threshold = CPU_TO_LE16(fc_threshold_val);
+
+	return ice_aq_send_cmd(hw, &desc, NULL, 0, cd);
+}
 
 /**
  * ice_init_fltr_mgmt_struct - initializes filter management list and locks
@@ -3227,6 +3295,220 @@ ice_set_ctx(u8 *src_ctx, u8 *dest_ctx, const struct ice_ctx_ele *ce_info)
 
 
 
+/**
+ * ice_read_byte - read context byte into struct
+ * @src_ctx:  the context structure to read from
+ * @dest_ctx: the context to be written to
+ * @ce_info:  a description of the struct to be filled
+ */
+static void
+ice_read_byte(u8 *src_ctx, u8 *dest_ctx, struct ice_ctx_ele *ce_info)
+{
+	u8 dest_byte, mask;
+	u8 *src, *target;
+	u16 shift_width;
+
+	/* prepare the bits and mask */
+	shift_width = ce_info->lsb % 8;
+	mask = (u8)(BIT(ce_info->width) - 1);
+
+	/* shift to correct alignment */
+	mask <<= shift_width;
+
+	/* get the current bits from the src bit string */
+	src = src_ctx + (ce_info->lsb / 8);
+
+	ice_memcpy(&dest_byte, src, sizeof(dest_byte), ICE_DMA_TO_NONDMA);
+
+	dest_byte &= ~(mask);
+
+	dest_byte >>= shift_width;
+
+	/* get the address from the struct field */
+	target = dest_ctx + ce_info->offset;
+
+	/* put it back in the struct */
+	ice_memcpy(target, &dest_byte, sizeof(dest_byte), ICE_NONDMA_TO_DMA);
+}
+
+/**
+ * ice_read_word - read context word into struct
+ * @src_ctx:  the context structure to read from
+ * @dest_ctx: the context to be written to
+ * @ce_info:  a description of the struct to be filled
+ */
+static void
+ice_read_word(u8 *src_ctx, u8 *dest_ctx, struct ice_ctx_ele *ce_info)
+{
+	u16 dest_word, mask;
+	u8 *src, *target;
+	__le16 src_word;
+	u16 shift_width;
+
+	/* prepare the bits and mask */
+	shift_width = ce_info->lsb % 8;
+	mask = BIT(ce_info->width) - 1;
+
+	/* shift to correct alignment */
+	mask <<= shift_width;
+
+	/* get the current bits from the src bit string */
+	src = src_ctx + (ce_info->lsb / 8);
+
+	ice_memcpy(&src_word, src, sizeof(src_word), ICE_DMA_TO_NONDMA);
+
+	/* the data in the memory is stored as little endian so mask it
+	 * correctly
+	 */
+	src_word &= ~(CPU_TO_LE16(mask));
+
+	/* get the data back into host order before shifting */
+	dest_word = LE16_TO_CPU(src_word);
+
+	dest_word >>= shift_width;
+
+	/* get the address from the struct field */
+	target = dest_ctx + ce_info->offset;
+
+	/* put it back in the struct */
+	ice_memcpy(target, &dest_word, sizeof(dest_word), ICE_NONDMA_TO_DMA);
+}
+
+/**
+ * ice_read_dword - read context dword into struct
+ * @src_ctx:  the context structure to read from
+ * @dest_ctx: the context to be written to
+ * @ce_info:  a description of the struct to be filled
+ */
+static void
+ice_read_dword(u8 *src_ctx, u8 *dest_ctx, struct ice_ctx_ele *ce_info)
+{
+	u32 dest_dword, mask;
+	__le32 src_dword;
+	u8 *src, *target;
+	u16 shift_width;
+
+	/* prepare the bits and mask */
+	shift_width = ce_info->lsb % 8;
+
+	/* if the field width is exactly 32 on an x86 machine, then the shift
+	 * operation will not work because the SHL instructions count is masked
+	 * to 5 bits so the shift will do nothing
+	 */
+	if (ce_info->width < 32)
+		mask = BIT(ce_info->width) - 1;
+	else
+		mask = (u32)~0;
+
+	/* shift to correct alignment */
+	mask <<= shift_width;
+
+	/* get the current bits from the src bit string */
+	src = src_ctx + (ce_info->lsb / 8);
+
+	ice_memcpy(&src_dword, src, sizeof(src_dword), ICE_DMA_TO_NONDMA);
+
+	/* the data in the memory is stored as little endian so mask it
+	 * correctly
+	 */
+	src_dword &= ~(CPU_TO_LE32(mask));
+
+	/* get the data back into host order before shifting */
+	dest_dword = LE32_TO_CPU(src_dword);
+
+	dest_dword >>= shift_width;
+
+	/* get the address from the struct field */
+	target = dest_ctx + ce_info->offset;
+
+	/* put it back in the struct */
+	ice_memcpy(target, &dest_dword, sizeof(dest_dword), ICE_NONDMA_TO_DMA);
+}
+
+/**
+ * ice_read_qword - read context qword into struct
+ * @src_ctx:  the context structure to read from
+ * @dest_ctx: the context to be written to
+ * @ce_info:  a description of the struct to be filled
+ */
+static void
+ice_read_qword(u8 *src_ctx, u8 *dest_ctx, struct ice_ctx_ele *ce_info)
+{
+	u64 dest_qword, mask;
+	__le64 src_qword;
+	u8 *src, *target;
+	u16 shift_width;
+
+	/* prepare the bits and mask */
+	shift_width = ce_info->lsb % 8;
+
+	/* if the field width is exactly 64 on an x86 machine, then the shift
+	 * operation will not work because the SHL instructions count is masked
+	 * to 6 bits so the shift will do nothing
+	 */
+	if (ce_info->width < 64)
+		mask = BIT_ULL(ce_info->width) - 1;
+	else
+		mask = (u64)~0;
+
+	/* shift to correct alignment */
+	mask <<= shift_width;
+
+	/* get the current bits from the src bit string */
+	src = src_ctx + (ce_info->lsb / 8);
+
+	ice_memcpy(&src_qword, src, sizeof(src_qword), ICE_DMA_TO_NONDMA);
+
+	/* the data in the memory is stored as little endian so mask it
+	 * correctly
+	 */
+	src_qword &= ~(CPU_TO_LE64(mask));
+
+	/* get the data back into host order before shifting */
+	dest_qword = LE64_TO_CPU(src_qword);
+
+	dest_qword >>= shift_width;
+
+	/* get the address from the struct field */
+	target = dest_ctx + ce_info->offset;
+
+	/* put it back in the struct */
+	ice_memcpy(target, &dest_qword, sizeof(dest_qword), ICE_NONDMA_TO_DMA);
+}
+
+/**
+ * ice_get_ctx - extract context bits from a packed structure
+ * @src_ctx:  pointer to a generic packed context structure
+ * @dest_ctx: pointer to a generic non-packed context structure
+ * @ce_info:  a description of the structure to be read from
+ */
+enum ice_status
+ice_get_ctx(u8 *src_ctx, u8 *dest_ctx, struct ice_ctx_ele *ce_info)
+{
+	int f;
+
+	for (f = 0; ce_info[f].width; f++) {
+		switch (ce_info[f].size_of) {
+		case 1:
+			ice_read_byte(src_ctx, dest_ctx, &ce_info[f]);
+			break;
+		case 2:
+			ice_read_word(src_ctx, dest_ctx, &ce_info[f]);
+			break;
+		case 4:
+			ice_read_dword(src_ctx, dest_ctx, &ce_info[f]);
+			break;
+		case 8:
+			ice_read_qword(src_ctx, dest_ctx, &ce_info[f]);
+			break;
+		default:
+			/* nothing to do, just keep going */
+			break;
+		}
+	}
+
+	return ICE_SUCCESS;
+}
 
 /**
  * ice_ena_vsi_txq
diff --git a/drivers/net/ice/base/ice_common.h b/drivers/net/ice/base/ice_common.h
index f2ad86182..0b387cdbe 100644
--- a/drivers/net/ice/base/ice_common.h
+++ b/drivers/net/ice/base/ice_common.h
@@ -133,6 +133,8 @@ enum ice_status
 ice_aq_set_link_restart_an(struct ice_port_info *pi, bool ena_link,
 			   struct ice_sq_cd *cd);
 enum ice_status
+ice_aq_set_mac_cfg(struct ice_hw *hw, u16 max_frame_size, struct ice_sq_cd *cd);
+enum ice_status
 ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse,
 		     struct ice_link_status *link, struct ice_sq_cd *cd);
 enum ice_status
@@ -149,6 +151,8 @@ ice_aq_set_port_id_led(struct ice_port_info *pi, bool is_orig_mode,
 
 
 enum ice_status
+ice_get_ctx(u8 *src_ctx, u8 *dest_ctx, struct ice_ctx_ele *ce_info);
+enum ice_status
 ice_dis_vsi_txq(struct ice_port_info *pi, u8 num_queues, u16 *q_ids,
 		u32 *q_teids, enum ice_disq_rst_src rst_src, u16 vmvf_num,
 		struct ice_sq_cd *cmd_details);
-- 
2.13.6

  parent reply	other threads:[~2019-03-25  5:43 UTC|newest]

Thread overview: 168+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-28  5:56 [PATCH 00/37] share code update Qi Zhang
2019-02-28  5:56 ` [PATCH 01/37] net/ice/base: add switch resource allocation and free Qi Zhang
2019-02-28  5:56 ` [PATCH 02/37] net/ice/base: improve comments Qi Zhang
2019-02-28  5:56 ` [PATCH 03/37] net/ice/base: add two helper functions Qi Zhang
2019-02-28  5:56 ` [PATCH 04/37] net/ice/base: add helper macros Qi Zhang
2019-02-28  5:56 ` [PATCH 05/37] net/ice/base: allow package copy to be used after resets Qi Zhang
2019-02-28  5:56 ` [PATCH 06/37] net/ice/base: code clean Qi Zhang
2019-02-28  5:56 ` [PATCH 07/37] net/ice/base: declare functions as external Qi Zhang
2019-03-01 10:30   ` Ferruh Yigit
2019-03-04  7:24     ` Zhang, Qi Z
2019-02-28  5:56 ` [PATCH 08/37] net/ice/base: add more APIs in switch module Qi Zhang
2019-02-28  5:56 ` [PATCH 09/37] net/ice/base: add VSI queue context framework Qi Zhang
2019-02-28  5:56 ` [PATCH 10/37] net/ice/base: add APIs to add remove ethertype filter Qi Zhang
2019-02-28  5:56 ` [PATCH 11/37] net/ice/base: add APIs to get allocated resources Qi Zhang
2019-02-28  5:56 ` [PATCH 12/37] net/ice/base: add APIs to alloc/free VLAN resource counter Qi Zhang
2019-02-28  5:56 ` [PATCH 13/37] net/ice/base: add APIs to get VSI promiscuous mode Qi Zhang
2019-02-28  5:56 ` [PATCH 14/37] net/ice/base: add MAC filter with marker and counter Qi Zhang
2019-02-28  5:56 ` [PATCH 15/37] net/ice/base: add two helper functions for flow management Qi Zhang
2019-02-28  5:56 ` [PATCH 16/37] net/ice/base: minor fix Qi Zhang
2019-02-28  5:56 ` [PATCH 17/37] net/ice/base: update macros Qi Zhang
2019-02-28  5:56 ` [PATCH 18/37] net/ice/base: code clean Qi Zhang
2019-02-28  5:56 ` [PATCH 19/37] net/ice/base: enable VSI queue context Qi Zhang
2019-02-28  5:56 ` [PATCH 20/37] net/ice/base: ensure only valid bits are set Qi Zhang
2019-02-28  5:56 ` [PATCH 21/37] net/ice/base: enhance get link status command Qi Zhang
2019-02-28  5:56 ` [PATCH 22/37] net/ice/base: add RSS key related macro and structures Qi Zhang
2019-02-28 16:54   ` Greenwalt, Paul
2019-02-28  5:56 ` [PATCH 23/37] net/ice/base: do not write TCAM entries back Qi Zhang
2019-02-28  5:56 ` [PATCH 24/37] net/ice/base: remove local VSIG allocations Qi Zhang
2019-02-28  5:56 ` [PATCH 25/37] net/ice/base: minor fix Qi Zhang
2019-02-28  5:56 ` [PATCH 26/37] net/ice/base: update copyright time Qi Zhang
2019-02-28  5:56 ` [PATCH 27/37] net/ice/base: resolve static analysis reported issues Qi Zhang
2019-03-01 10:36   ` Ferruh Yigit
2019-03-04  1:54     ` Zhang, Qi Z
2019-02-28  5:56 ` [PATCH 28/37] net/ice/base: return config error without queue to disable Qi Zhang
2019-02-28  5:56 ` [PATCH 29/37] net/ice/base: add function to check FW recovery mode Qi Zhang
2019-02-28  5:56 ` [PATCH 30/37] net/ice/base: change profile id reference counting Qi Zhang
2019-02-28  5:56 ` [PATCH 31/37] net/ice/base: add DCB support Qi Zhang
2019-02-28  5:56 ` [PATCH 32/37] net/ice/base: add FDIR support Qi Zhang
2019-02-28  5:56 ` [PATCH 33/37] net/ice/base: change profile priority for RSS reply Qi Zhang
2019-02-28  5:56 ` [PATCH 34/37] net/ice/base: remove duplicate resource allocations Qi Zhang
2019-02-28  5:56 ` [PATCH 35/37] net/ice/base: minor fix Qi Zhang
2019-02-28  5:56 ` [PATCH 36/37] net/ice/base: increase prototol offset size Qi Zhang
2019-03-01 11:19   ` Ferruh Yigit
2019-03-04  6:03     ` Zhang, Qi Z
2019-02-28  5:56 ` [PATCH 37/37] net/ice/base: revert the workaround for resource allocation Qi Zhang
2019-03-07 12:58 ` [PATCH v2 00/37] ice share code update Qi Zhang
2019-03-07 12:58   ` [PATCH v2 01/37] net/ice/base: add switch resource allocation and free Qi Zhang
2019-03-07 12:58   ` [PATCH v2 02/37] net/ice/base: improve comments Qi Zhang
2019-03-07 12:58   ` [PATCH v2 03/37] net/ice/base: add two helper functions Qi Zhang
2019-03-07 12:58   ` [PATCH v2 04/37] net/ice/base: add helper macros Qi Zhang
2019-03-07 12:58   ` [PATCH v2 05/37] net/ice/base: allow package copy to be used after resets Qi Zhang
2019-03-07 12:58   ` [PATCH v2 06/37] net/ice/base: code clean Qi Zhang
2019-03-07 12:58   ` [PATCH v2 07/37] net/ice/base: declare functions as external Qi Zhang
2019-03-07 12:58   ` [PATCH v2 08/37] net/ice/base: add more APIs in switch module Qi Zhang
2019-03-07 12:58   ` [PATCH v2 09/37] net/ice/base: add VSI queue context framework Qi Zhang
2019-03-07 12:58   ` [PATCH v2 10/37] net/ice/base: add APIs to add remove ethertype filter Qi Zhang
2019-03-07 12:58   ` [PATCH v2 11/37] net/ice/base: add APIs to get allocated resources Qi Zhang
2019-03-07 12:58   ` [PATCH v2 12/37] net/ice/base: add APIs to alloc/free resource counter Qi Zhang
2019-03-07 12:58   ` [PATCH v2 13/37] net/ice/base: add APIs to get VSI promiscuous mode Qi Zhang
2019-03-07 12:58   ` [PATCH v2 14/37] net/ice/base: add MAC filter with marker and counter Qi Zhang
2019-03-07 12:58   ` [PATCH v2 15/37] net/ice/base: add two helper functions for flow management Qi Zhang
2019-03-07 12:58   ` [PATCH v2 16/37] net/ice/base: minor fix Qi Zhang
2019-03-07 12:58   ` [PATCH v2 17/37] net/ice/base: update macros Qi Zhang
2019-03-07 12:58   ` [PATCH v2 18/37] net/ice/base: code clean Qi Zhang
2019-03-07 12:58   ` [PATCH v2 19/37] net/ice/base: enable VSI queue context Qi Zhang
2019-03-07 12:58   ` [PATCH v2 20/37] net/ice/base: ensure only valid bits are set Qi Zhang
2019-03-07 12:58   ` [PATCH v2 21/37] net/ice/base: enhance get link status command Qi Zhang
2019-03-07 12:58   ` [PATCH v2 22/37] net/ice/base: add RSS key related macro and structures Qi Zhang
2019-03-07 12:58   ` [PATCH v2 23/37] net/ice/base: do not write TCAM entries back Qi Zhang
2019-03-07 12:58   ` [PATCH v2 24/37] net/ice/base: remove local VSIG allocations Qi Zhang
2019-03-07 12:58   ` [PATCH v2 25/37] net/ice/base: minor fix Qi Zhang
2019-03-07 12:58   ` [PATCH v2 26/37] net/ice/base: update copyright time Qi Zhang
2019-03-07 12:58   ` [PATCH v2 27/37] net/ice/base: fix static analysis reported issues Qi Zhang
2019-03-07 12:58   ` [PATCH v2 28/37] net/ice/base: return config error without queue to disable Qi Zhang
2019-03-07 12:58   ` [PATCH v2 29/37] net/ice/base: add function to check FW recovery mode Qi Zhang
2019-03-07 12:58   ` [PATCH v2 30/37] net/ice/base: change profile id reference counting Qi Zhang
2019-03-07 12:58   ` [PATCH v2 31/37] net/ice/base: add DCB support Qi Zhang
2019-03-07 12:58   ` [PATCH v2 32/37] net/ice/base: add FDIR support Qi Zhang
2019-03-07 12:58   ` [PATCH v2 33/37] net/ice/base: change profile priority for RSS reply Qi Zhang
2019-03-07 12:58   ` [PATCH v2 34/37] net/ice/base: fix duplicate resource allocations Qi Zhang
2019-03-07 12:58   ` [PATCH v2 35/37] net/ice/base: minor fix Qi Zhang
2019-03-07 12:58   ` [PATCH v2 36/37] net/ice/base: increase prototol offset size Qi Zhang
2019-03-07 12:58   ` [PATCH v2 37/37] net/ice/base: revert the workaround for resource allocation Qi Zhang
2019-03-11  7:04 ` [PATCH v3 00/38] ice share code update Qi Zhang
2019-03-11  7:04   ` [PATCH v3 01/38] net/ice/base: add switch resource allocation and free Qi Zhang
2019-03-15  0:46     ` Yang, Qiming
2019-03-11  7:04   ` [PATCH v3 02/38] net/ice/base: improve comments Qi Zhang
2019-03-11  7:04   ` [PATCH v3 03/38] net/ice/base: add two helper functions Qi Zhang
2019-03-11  7:04   ` [PATCH v3 04/38] net/ice/base: add helper macros Qi Zhang
2019-03-11  7:04   ` [PATCH v3 05/38] net/ice/base: allow package copy to be used after resets Qi Zhang
2019-03-11  7:04   ` [PATCH v3 06/38] net/ice/base: code clean Qi Zhang
2019-03-11  7:04   ` [PATCH v3 07/38] net/ice/base: declare functions as external Qi Zhang
2019-03-11  7:04   ` [PATCH v3 08/38] net/ice/base: add more APIs in switch module Qi Zhang
2019-03-11  7:04   ` [PATCH v3 09/38] net/ice/base: add VSI queue context framework Qi Zhang
2019-03-11  7:04   ` [PATCH v3 10/38] net/ice/base: add APIs to add remove ethertype filter Qi Zhang
2019-03-11  7:04   ` [PATCH v3 11/38] net/ice/base: add APIs to get allocated resources Qi Zhang
2019-03-11  7:04   ` [PATCH v3 12/38] net/ice/base: add APIs to alloc/free resource counter Qi Zhang
2019-03-11  7:04   ` [PATCH v3 13/38] net/ice/base: add APIs to get VSI promiscuous mode Qi Zhang
2019-03-11  7:04   ` [PATCH v3 14/38] net/ice/base: add MAC filter with marker and counter Qi Zhang
2019-03-11  7:04   ` [PATCH v3 15/38] net/ice/base: add two helper functions for flow management Qi Zhang
2019-03-11  7:04   ` [PATCH v3 16/38] net/ice/base: minor fix Qi Zhang
2019-03-11  7:04   ` [PATCH v3 17/38] net/ice/base: update macros Qi Zhang
2019-03-11  7:04   ` [PATCH v3 18/38] net/ice/base: code clean Qi Zhang
2019-03-11  7:04   ` [PATCH v3 19/38] net/ice/base: enable VSI queue context Qi Zhang
2019-03-11  7:04   ` [PATCH v3 20/38] net/ice/base: ensure only valid bits are set Qi Zhang
2019-03-11  7:04   ` [PATCH v3 21/38] net/ice/base: enhance get link status command Qi Zhang
2019-03-11  7:04   ` [PATCH v3 22/38] net/ice/base: add RSS key related macro and structures Qi Zhang
2019-03-11  7:04   ` [PATCH v3 23/38] net/ice/base: do not write TCAM entries back Qi Zhang
2019-03-11  7:04   ` [PATCH v3 24/38] net/ice/base: remove local VSIG allocations Qi Zhang
2019-03-11  7:04   ` [PATCH v3 25/38] net/ice/base: minor fix Qi Zhang
2019-03-11  7:04   ` [PATCH v3 26/38] net/ice/base: update copyright time Qi Zhang
2019-03-11  7:04   ` [PATCH v3 27/38] net/ice/base: fix static analysis reported issues Qi Zhang
2019-03-11  7:04   ` [PATCH v3 28/38] net/ice/base: return config error without queue to disable Qi Zhang
2019-03-11  7:04   ` [PATCH v3 29/38] net/ice/base: add function to check FW recovery mode Qi Zhang
2019-03-11  7:04   ` [PATCH v3 30/38] net/ice/base: change profile id reference counting Qi Zhang
2019-03-11  7:04   ` [PATCH v3 31/38] net/ice/base: add DCB support Qi Zhang
2019-03-11  7:04   ` [PATCH v3 32/38] net/ice/base: add FDIR support Qi Zhang
2019-03-11  7:04   ` [PATCH v3 33/38] net/ice/base: change profile priority for RSS reply Qi Zhang
2019-03-11  7:04   ` [PATCH v3 34/38] net/ice/base: fix duplicate resource allocations Qi Zhang
2019-03-11  7:04   ` [PATCH v3 35/38] net/ice/base: minor fix Qi Zhang
2019-03-11  7:04   ` [PATCH v3 36/38] net/ice/base: increase prototol offset size Qi Zhang
2019-03-11  7:04   ` [PATCH v3 37/38] net/ice/base: revert the workaround for resource allocation Qi Zhang
2019-03-11  7:04   ` [PATCH v3 38/38] net/ice/base: fix set UDP PTYPEs Qi Zhang
2019-03-11  7:27     ` Zhang, Qi Z
2019-03-18  8:37   ` [PATCH v3 00/38] ice share code update Yang, Qiming
2019-03-19  3:28   ` Lu, Wenzhuo
2019-03-25  5:44 ` [PATCH v4 " Qi Zhang
2019-03-25  5:44   ` [PATCH v4 01/38] net/ice/base: add switch resource allocation and free Qi Zhang
2019-03-25  5:44   ` [PATCH v4 02/38] net/ice/base: improve comments Qi Zhang
2019-03-25  5:44   ` Qi Zhang [this message]
2019-03-25  5:44   ` [PATCH v4 04/38] net/ice/base: add helper macros Qi Zhang
2019-03-25  5:44   ` [PATCH v4 05/38] net/ice/base: allow package copy to be used after resets Qi Zhang
2019-03-25  5:44   ` [PATCH v4 06/38] net/ice/base: clean code Qi Zhang
2019-03-25  5:44   ` [PATCH v4 07/38] net/ice/base: declare functions as external Qi Zhang
2019-03-25  5:44   ` [PATCH v4 08/38] net/ice/base: add more APIs in switch module Qi Zhang
2019-03-25  5:44   ` [PATCH v4 09/38] net/ice/base: add VSI queue context framework Qi Zhang
2019-03-25  5:44   ` [PATCH v4 10/38] net/ice/base: add APIs to add remove ethertype filter Qi Zhang
2019-03-25  5:44   ` [PATCH v4 11/38] net/ice/base: add APIs to get allocated resources Qi Zhang
2019-03-25  5:44   ` [PATCH v4 12/38] net/ice/base: add APIs to alloc/free resource counter Qi Zhang
2019-03-25  5:44   ` [PATCH v4 13/38] net/ice/base: add APIs to get VSI promiscuous mode Qi Zhang
2019-03-25  5:44   ` [PATCH v4 14/38] net/ice/base: add MAC filter with marker and counter Qi Zhang
2019-03-25  5:44   ` [PATCH v4 15/38] net/ice/base: add two helper functions for flow management Qi Zhang
2019-03-25  5:44   ` [PATCH v4 16/38] net/ice/base: fix minor issues Qi Zhang
2019-03-25  5:44   ` [PATCH v4 17/38] net/ice/base: update macros Qi Zhang
2019-03-25  5:44   ` [PATCH v4 18/38] net/ice/base: clean code Qi Zhang
2019-03-25  5:44   ` [PATCH v4 19/38] net/ice/base: enable VSI queue context Qi Zhang
2019-03-25  5:44   ` [PATCH v4 20/38] net/ice/base: ensure only valid bits are set Qi Zhang
2019-03-25  5:44   ` [PATCH v4 21/38] net/ice/base: enhance get link status command Qi Zhang
2019-03-25  5:44   ` [PATCH v4 22/38] net/ice/base: add RSS key related macro and structures Qi Zhang
2019-03-25  5:44   ` [PATCH v4 23/38] net/ice/base: do not write TCAM entries back Qi Zhang
2019-03-25  5:44   ` [PATCH v4 24/38] net/ice/base: remove local VSIG allocations Qi Zhang
2019-03-25  5:44   ` [PATCH v4 25/38] net/ice/base: fix minor issues Qi Zhang
2019-03-25  5:44   ` [PATCH v4 26/38] net/ice/base: update copyright time Qi Zhang
2019-03-25  5:44   ` [PATCH v4 27/38] net/ice/base: fix Klockwork analysis reported issues Qi Zhang
2019-03-25  5:44   ` [PATCH v4 28/38] net/ice/base: return config error without queue to disable Qi Zhang
2019-03-25  5:44   ` [PATCH v4 29/38] net/ice/base: add function to check FW recovery mode Qi Zhang
2019-03-25  5:44   ` [PATCH v4 30/38] net/ice/base: change profile id reference counting Qi Zhang
2019-03-25  5:44   ` [PATCH v4 31/38] net/ice/base: add DCB support Qi Zhang
2019-03-25  5:44   ` [PATCH v4 32/38] net/ice/base: add FDIR support Qi Zhang
2019-03-25  5:44   ` [PATCH v4 33/38] net/ice/base: change profile priority for RSS reply Qi Zhang
2019-03-25  5:44   ` [PATCH v4 34/38] net/ice/base: fix duplicate resource allocations Qi Zhang
2019-03-25  5:44   ` [PATCH v4 35/38] net/ice/base: fix minor issues Qi Zhang
2019-03-25  5:44   ` [PATCH v4 36/38] net/ice/base: increase prototol offset size Qi Zhang
2019-03-25  5:44   ` [PATCH v4 37/38] net/ice/base: revert the workaround for resource allocation Qi Zhang
2019-03-25  5:44   ` [PATCH v4 38/38] net/ice/base: rework on bit ops Qi Zhang
2019-03-25  7:07   ` [PATCH v4 00/38] ice share code update Zhang, Qi Z
2019-03-31 17:06     ` Thomas Monjalon
2019-04-01  5:42       ` Zhang, Qi Z

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190325054452.2616-4-qi.z.zhang@intel.com \
    --to=qi.z.zhang@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=paul.m.stillwell.jr@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=wenzhuo.lu@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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.