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: [dpdk-dev] [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)
Message-ID: <20190325054417.bhecVZOKqzwsVnNEtLEccsA7ZmdvDj3exOwc1psSOyM@z> (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
next prev parent reply other threads:[~2019-03-25 5:43 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 ` [dpdk-dev] [PATCH 37/37] net/ice/base: revert the workaround for resource allocation Qi Zhang
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 ` Qi Zhang [this message]
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 ` [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=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 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).