DPDK patches and discussions
 help / color / mirror / Atom feed
From: Qi Zhang <qi.z.zhang@intel.com>
To: wenzhuo.lu@intel.com, qiming.yang@intel.com
Cc: paul.m.stillwell.jr@intel.com, dev@dpdk.org,
	ferruh.yigit@intel.com, Qi Zhang <qi.z.zhang@intel.com>,
	Dan Nowlin <dan.nowlin@intel.com>
Subject: [dpdk-dev] [PATCH 37/37] net/ice/base: revert the workaround for resource allocation
Date: Thu, 28 Feb 2019 13:56:50 +0800	[thread overview]
Message-ID: <20190228055650.25237-38-qi.z.zhang@intel.com> (raw)
In-Reply-To: <20190228055650.25237-1-qi.z.zhang@intel.com>

Revert the workaround for allocating TCAM and FV entries to align
with latest firmware.

Signed-off-by: Dan Nowlin <dan.nowlin@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ice/base/ice_common.c    |  11 +-
 drivers/net/ice/base/ice_common.h    |   2 +-
 drivers/net/ice/base/ice_flex_pipe.c | 235 ++---------------------------------
 drivers/net/ice/base/ice_flex_type.h |   2 -
 4 files changed, 17 insertions(+), 233 deletions(-)

diff --git a/drivers/net/ice/base/ice_common.c b/drivers/net/ice/base/ice_common.c
index 74f925c03..3d2e5f347 100644
--- a/drivers/net/ice/base/ice_common.c
+++ b/drivers/net/ice/base/ice_common.c
@@ -1786,11 +1786,11 @@ ice_aq_alloc_free_res(struct ice_hw *hw, u16 num_entries,
  * @hw: pointer to the HW struct
  * @type: type of resource
  * @num: number of resources to allocate
- * @sh: shared if true, dedicated if false
+ * @btm: allocate from bottom
  * @res: pointer to array that will receive the resources
  */
 enum ice_status
-ice_alloc_hw_res(struct ice_hw *hw, u16 type, u16 num, bool sh, u16 *res)
+ice_alloc_hw_res(struct ice_hw *hw, u16 type, u16 num, bool btm, u16 *res)
 {
 	struct ice_aqc_alloc_free_res_elem *buf;
 	enum ice_status status;
@@ -1804,8 +1804,11 @@ ice_alloc_hw_res(struct ice_hw *hw, u16 type, u16 num, bool sh, u16 *res)
 
 	/* Prepare buffer to allocate resource. */
 	buf->num_elems = CPU_TO_LE16(num);
-	buf->res_type = CPU_TO_LE16(type | (sh ? ICE_AQC_RES_TYPE_FLAG_SHARED :
-		ICE_AQC_RES_TYPE_FLAG_DEDICATED));
+	buf->res_type = CPU_TO_LE16(type | ICE_AQC_RES_TYPE_FLAG_DEDICATED |
+				    ICE_AQC_RES_TYPE_FLAG_IGNORE_INDEX);
+	if (btm)
+		buf->res_type |= CPU_TO_LE16(ICE_AQC_RES_TYPE_FLAG_SCAN_BOTTOM);
+
 	status = ice_aq_alloc_free_res(hw, 1, buf, buf_len,
 				       ice_aqc_opc_alloc_res, NULL);
 	if (status)
diff --git a/drivers/net/ice/base/ice_common.h b/drivers/net/ice/base/ice_common.h
index 4dc43dcfe..e8f2ce9d8 100644
--- a/drivers/net/ice/base/ice_common.h
+++ b/drivers/net/ice/base/ice_common.h
@@ -41,7 +41,7 @@ ice_acquire_res(struct ice_hw *hw, enum ice_aq_res_ids res,
 		enum ice_aq_res_access_type access, u32 timeout);
 void ice_release_res(struct ice_hw *hw, enum ice_aq_res_ids res);
 enum ice_status
-ice_alloc_hw_res(struct ice_hw *hw, u16 type, u16 num, bool sh, u16 *res);
+ice_alloc_hw_res(struct ice_hw *hw, u16 type, u16 num, bool btm, u16 *res);
 enum ice_status
 ice_free_hw_res(struct ice_hw *hw, u16 type, u16 num, u16 *res);
 enum ice_status
diff --git a/drivers/net/ice/base/ice_flex_pipe.c b/drivers/net/ice/base/ice_flex_pipe.c
index e4d0b8c0f..14e632fab 100644
--- a/drivers/net/ice/base/ice_flex_pipe.c
+++ b/drivers/net/ice/base/ice_flex_pipe.c
@@ -2536,199 +2536,6 @@ static bool ice_tcam_ent_rsrc_type(enum ice_block blk, u16 *rsrc_type)
 }
 
 /**
- * ice_workaround_get_res_blk - determine the block from a resource type
- * @type: type of resource
- * @blk: pointer to a enum that will receive the block type
- * @tcam: pointer to variable that will be set to true for a TCAM resource type
- */
-static enum
-ice_status ice_workaround_get_res_blk(u16 type, enum ice_block *blk, bool *tcam)
-{
-	/* just need to support TCAM entries and Profile IDs for now */
-	*tcam = false;
-
-	switch (type) {
-	case ICE_AQC_RES_TYPE_SWITCH_PROF_BLDR_TCAM:
-		*blk = ICE_BLK_SW;
-		*tcam = true;
-		break;
-	case ICE_AQC_RES_TYPE_ACL_PROF_BLDR_TCAM:
-		*blk = ICE_BLK_ACL;
-		*tcam = true;
-		break;
-	case ICE_AQC_RES_TYPE_FD_PROF_BLDR_TCAM:
-		*blk = ICE_BLK_FD;
-		*tcam = true;
-		break;
-	case ICE_AQC_RES_TYPE_HASH_PROF_BLDR_TCAM:
-		*blk = ICE_BLK_RSS;
-		*tcam = true;
-		break;
-	case ICE_AQC_RES_TYPE_QHASH_PROF_BLDR_TCAM:
-		*blk = ICE_BLK_PE;
-		*tcam = true;
-		break;
-	case ICE_AQC_RES_TYPE_SWITCH_PROF_BLDR_PROFID:
-		*blk = ICE_BLK_SW;
-		break;
-	case ICE_AQC_RES_TYPE_ACL_PROF_BLDR_PROFID:
-		*blk = ICE_BLK_ACL;
-		break;
-	case ICE_AQC_RES_TYPE_FD_PROF_BLDR_PROFID:
-		*blk = ICE_BLK_FD;
-		break;
-	case ICE_AQC_RES_TYPE_HASH_PROF_BLDR_PROFID:
-		*blk = ICE_BLK_RSS;
-		break;
-	case ICE_AQC_RES_TYPE_QHASH_PROF_BLDR_PROFID:
-		*blk = ICE_BLK_PE;
-		break;
-	default:
-		return ICE_ERR_PARAM;
-	}
-
-	return ICE_SUCCESS;
-}
-
-/**
- * ice_alloc_res_workaround
- * @hw: pointer to the hw struct
- * @type: type of resource
- * @num: number of resources to allocate
- * @res: pointer to array that will receive the resources
- */
-static enum ice_status
-ice_alloc_res_workaround(struct ice_hw *hw, u16 type, u16 num, u16 *res)
-{
-	enum ice_block blk;
-	u16 count = 0;
-	bool tcam;
-	u16 first;
-	u16 last;
-	u16 max;
-	u16 i;
-
-/* Number of PFs we support with this workaround */
-#define ICE_WA_PF_COUNT	4
-#define ICE_WA_1ST_TCAM	4
-#define ICE_WA_1ST_FV	4
-
-	/* Only allow our supported PFs */
-	if (hw->pf_id >= ICE_WA_PF_COUNT)
-		return ICE_ERR_AQ_ERROR;
-
-	if (ice_workaround_get_res_blk(type, &blk, &tcam))
-		return ICE_ERR_AQ_ERROR;
-
-	if (tcam) {
-		/* range of entries based on PF */
-		max = hw->blk[blk].prof.count / ICE_WA_PF_COUNT;
-		first = max * hw->pf_id;
-		last = first + max;
-
-		/* Profile IDs - start at non-zero index for PROF ID TCAM table
-		 * The first few entries are for bypass, default and errors
-		 * (only relevant for PF 0)
-		 */
-		first += hw->pf_id ? 0 : ICE_WA_1ST_TCAM;
-
-		for (i = first; i < last && count < num; i++) {
-			if (!hw->blk[blk].prof.resource_used_hack[i]) {
-				res[count++] = i;
-				hw->blk[blk].prof.resource_used_hack[i] = true;
-			}
-		}
-
-		/* handle failure case */
-		if (count < num) {
-			for (i = 0; i < count; i++) {
-				hw->blk[blk].prof.resource_used_hack[res[i]] =
-					false;
-				res[i] = 0;
-			}
-
-			return ICE_ERR_AQ_ERROR;
-		}
-	} else {
-		/* range of entries based on PF */
-		max = hw->blk[blk].es.count / ICE_WA_PF_COUNT;
-		first = max * hw->pf_id;
-		last = first + max;
-
-		/* FV index - start at non-zero index for Field vector table
-		 * The first few entries are for bypass, default and errors
-		 * (only relevant for PF 0)
-		 */
-		first += hw->pf_id ? 0 : ICE_WA_1ST_FV;
-
-		for (i = first; i < last && count < num; i++) {
-			if (!hw->blk[blk].es.resource_used_hack[i]) {
-				res[count++] = i;
-				hw->blk[blk].es.resource_used_hack[i] = true;
-			}
-		}
-
-		/* handle failure case */
-		if (count < num) {
-			for (i = 0; i < count; i++) {
-				hw->blk[blk].es.resource_used_hack[res[i]] =
-					false;
-				res[i] = 0;
-			}
-
-			return ICE_ERR_AQ_ERROR;
-		}
-	}
-
-	return ICE_SUCCESS;
-}
-
-/**
- * ice_free_res_workaround
- * @hw: pointer to the hw struct
- * @type: type of resource to free
- * @num: number of resources
- * @res: array of resource ids to free
- */
-static enum ice_status
-ice_free_res_workaround(struct ice_hw *hw, u16 type, u16 num, u16 *res)
-{
-	enum ice_block blk;
-	bool tcam = false;
-	u16 i;
-
-	if (ice_workaround_get_res_blk(type, &blk, &tcam))
-		return ICE_ERR_AQ_ERROR;
-
-	if (tcam) {
-		/* TCAM entries */
-		for (i = 0; i < num; i++) {
-			if (res[i] < hw->blk[blk].prof.count) {
-				u16 idx = res[i];
-
-				ice_free_hw_res(hw, type, 1, &idx);
-				hw->blk[blk].prof.resource_used_hack[res[i]] =
-					false;
-			}
-		}
-
-	} else {
-		/* Profile IDs */
-		for (i = 0; i < num; i++) {
-			if (res[i] < hw->blk[blk].es.count) {
-				u16 idx = res[i];
-
-				ice_free_hw_res(hw, type, 1, &idx);
-				hw->blk[blk].es.resource_used_hack[res[i]] =
-					false;
-			}
-		}
-	}
-
-	return ICE_SUCCESS;
-}
-
-/**
  * ice_alloc_tcam_ent - allocate hardware TCAM entry
  * @hw: pointer to the HW struct
  * @blk: the block to allocate the TCAM for
@@ -2745,7 +2552,7 @@ ice_alloc_tcam_ent(struct ice_hw *hw, enum ice_block blk, u16 *tcam_idx)
 	if (!ice_tcam_ent_rsrc_type(blk, &res_type))
 		return ICE_ERR_PARAM;
 
-	return ice_alloc_res_workaround(hw, res_type, 1, tcam_idx);
+	return ice_alloc_hw_res(hw, res_type, 1, true, tcam_idx);
 }
 
 /**
@@ -2764,7 +2571,7 @@ ice_free_tcam_ent(struct ice_hw *hw, enum ice_block blk, u16 tcam_idx)
 	if (!ice_tcam_ent_rsrc_type(blk, &res_type))
 		return ICE_ERR_PARAM;
 
-	return ice_free_res_workaround(hw, res_type, 1, &tcam_idx);
+	return ice_free_hw_res(hw, res_type, 1, &tcam_idx);
 }
 
 /**
@@ -2786,7 +2593,7 @@ ice_alloc_prof_id(struct ice_hw *hw, enum ice_block blk, u8 *prof_id)
 	if (!ice_prof_id_rsrc_type(blk, &res_type))
 		return ICE_ERR_PARAM;
 
-	status = ice_alloc_res_workaround(hw, res_type, 1, &get_prof);
+	status = ice_alloc_hw_res(hw, res_type, 1, false, &get_prof);
 	if (!status)
 		*prof_id = (u8)get_prof;
 
@@ -2810,15 +2617,7 @@ ice_free_prof_id(struct ice_hw *hw, enum ice_block blk, u8 prof_id)
 	if (!ice_prof_id_rsrc_type(blk, &res_type))
 		return ICE_ERR_PARAM;
 
-	return ice_free_res_workaround(hw, res_type, 1, &tmp_prof_id);
-	/* The following code is a WORKAROUND until DCR 076 is available.
-	 * DCR 076 - Update to Profile ID TCAM Resource Allocation
-	 *
-	 * Once the DCR 076 changes are available in FW, this code can be
-	 * restored. Original code:
-	 *
-	 * return ice_free_res(hw, res_type, 1, &tmp_prof_id);
-	 */
+	return ice_free_hw_res(hw, res_type, 1, &tmp_prof_id);
 }
 
 /**
@@ -3125,8 +2924,7 @@ static void ice_free_prof_map(struct ice_hw *hw, enum ice_block blk)
 
 	LIST_FOR_EACH_ENTRY_SAFE(del, tmp, &hw->blk[blk].es.prof_map,
 				 ice_prof_map, list) {
-		LIST_DEL(&del->list);
-		ice_free(hw, del);
+		ice_rem_prof(hw, blk, del->profile_cookie);
 	}
 }
 
@@ -3168,9 +2966,6 @@ void ice_free_hw_tbls(struct ice_hw *hw)
 		ice_free(hw, hw->blk[i].prof_redir.t);
 		ice_free(hw, hw->blk[i].es.t);
 		ice_free(hw, hw->blk[i].es.ref_count);
-
-		ice_free(hw, hw->blk[i].es.resource_used_hack);
-		ice_free(hw, hw->blk[i].prof.resource_used_hack);
 		ice_free(hw, hw->blk[i].es.written);
 	}
 
@@ -3347,18 +3142,6 @@ enum ice_status ice_init_hw_tbls(struct ice_hw *hw)
 		if (!es->ref_count)
 			goto err;
 
-		es->resource_used_hack = (u8 *)
-			ice_calloc(hw, hw->blk[i].es.count, sizeof(u8));
-
-		if (!es->resource_used_hack)
-			goto err;
-
-		prof->resource_used_hack = (u8 *)ice_calloc(hw, prof->count,
-							    sizeof(u8));
-
-		if (!prof->resource_used_hack)
-			goto err;
-
 		INIT_LIST_HEAD(&es->prof_map);
 
 		/* Now that tables are allocated, read in package data */
@@ -4390,13 +4173,13 @@ enum ice_status ice_rem_prof(struct ice_hw *hw, enum ice_block blk, u64 id)
 	if (!pmap)
 		return ICE_ERR_DOES_NOT_EXIST;
 
-	status = ice_free_prof_id(hw, blk, pmap->prof_id);
-
+	/* remove all flows with this profile */
+	status = ice_rem_flow_all(hw, blk, pmap->profile_cookie);
 	if (status)
 		return status;
 
-	/* remove all flows with this profile */
-	status = ice_rem_flow_all(hw, blk, pmap->profile_cookie);
+	/* remove profile */
+	status = ice_free_prof_id(hw, blk, pmap->prof_id);
 	if (status)
 		return status;
 	/* dereference profile, and possibly remove */
diff --git a/drivers/net/ice/base/ice_flex_type.h b/drivers/net/ice/base/ice_flex_type.h
index f259e1371..f2a5f27e7 100644
--- a/drivers/net/ice/base/ice_flex_type.h
+++ b/drivers/net/ice/base/ice_flex_type.h
@@ -507,7 +507,6 @@ struct ice_es {
 	u8 reverse; /* set to true to reverse FV order */
 	struct LIST_HEAD_TYPE prof_map;
 	struct ice_fv_word *t;
-	u8 *resource_used_hack; /* hack for testing */
 };
 
 /* PTYPE Group management */
@@ -660,7 +659,6 @@ struct ice_prof_tcam {
 	u16 max_prof_id;
 	u8 cdid_bits; /* # cdid bits to use in key, 0, 2, 4, or 8 */
 	struct ice_prof_tcam_entry *t;
-	u8 *resource_used_hack;
 };
 
 struct ice_prof_redir {
-- 
2.13.6

  parent reply	other threads:[~2019-02-28  5:55 UTC|newest]

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