DPDK patches and discussions
 help / color / mirror / Atom feed
From: Anatoly Burakov <anatoly.burakov@intel.com>
To: dev@dpdk.org
Cc: Ian Stokes <ian.stokes@intel.com>,
	bruce.richardson@intel.com,
	Jesse Brandeburg <jesse.brandeburg@intel.com>
Subject: [PATCH v2 018/148] net/ice/base: update code with flex array safe allocations
Date: Wed, 12 Jun 2024 16:00:12 +0100	[thread overview]
Message-ID: <08e8e5c5f297080cd4c94e6dbf4dc9eaae0644cf.1718204528.git.anatoly.burakov@intel.com> (raw)
In-Reply-To: <cover.1718204528.git.anatoly.burakov@intel.com>

From: Ian Stokes <ian.stokes@intel.com>

The Linux Kernel is now requiring flex array safe allocations from drivers and
the way that we used overlaid union structures was confusing or worse, breaking
Klocwork as well as failing upstream builds that were checking -Warray-bounds.

This update was inspired by Alexander Lobakin's upstream changes to do the same,
but none of the code was copied, and the changes here were all made by me.

The ice_adminq_cmd.h file changes structures due to this change and the firmware
team may not want to sync up with these changes. However, none of the data
formats change and will continue to work with firmware using the old layouts.
It's just that after this change the shared code has provably correct usage of
flexible arrays. It's possible that the firmware team no longer really needs to
sync with this file anyway.

There are no binary format changes, and I noticed that a very similar change to
this was made and then reverted back in 2017. However, that was before we had
the STRUCT_HACK_LEN defines figured out. Now, this code compiles as well under
C++ as it does under C, and all the structure length checking macros work in all
cases that I can tell.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
---
 drivers/net/ice/base/ice_adminq_cmd.h |  59 +++---
 drivers/net/ice/base/ice_switch.c     | 271 +++++++++++++-------------
 drivers/net/ice/base/ice_switch.h     |  12 --
 3 files changed, 166 insertions(+), 176 deletions(-)

diff --git a/drivers/net/ice/base/ice_adminq_cmd.h b/drivers/net/ice/base/ice_adminq_cmd.h
index aaa4045d38..3549fc28f1 100644
--- a/drivers/net/ice/base/ice_adminq_cmd.h
+++ b/drivers/net/ice/base/ice_adminq_cmd.h
@@ -813,12 +813,30 @@ struct ice_aqc_sw_rules {
 	__le32 addr_low;
 };
 
+/* Add switch rule response:
+ * Content of return buffer is same as the input buffer. The status field and
+ * LUT index are updated as part of the response
+ */
+struct ice_aqc_sw_rules_elem_hdr {
+	__le16 type; /* Switch rule type, one of T_... */
+#define ICE_AQC_SW_RULES_T_LKUP_RX		0x0
+#define ICE_AQC_SW_RULES_T_LKUP_TX		0x1
+#define ICE_AQC_SW_RULES_T_LG_ACT		0x2
+#define ICE_AQC_SW_RULES_T_VSI_LIST_SET		0x3
+#define ICE_AQC_SW_RULES_T_VSI_LIST_CLEAR	0x4
+#define ICE_AQC_SW_RULES_T_PRUNE_LIST_SET	0x5
+#define ICE_AQC_SW_RULES_T_PRUNE_LIST_CLEAR	0x6
+	__le16 status;
+};
+
 /* Add/Update/Get/Remove lookup Rx/Tx command/response entry
  * This structures describes the lookup rules and associated actions. "index"
  * is returned as part of a response to a successful Add command, and can be
  * used to identify the rule for Update/Get/Remove commands.
  */
 struct ice_sw_rule_lkup_rx_tx {
+	struct ice_aqc_sw_rules_elem_hdr hdr;
+
 	__le16 recipe_id;
 #define ICE_SW_RECIPE_LOGICAL_PORT_FWD		10
 	/* Source port for LOOKUP_RX and source VSI in case of LOOKUP_TX */
@@ -895,14 +913,17 @@ struct ice_sw_rule_lkup_rx_tx {
 	 * lookup-type
 	 */
 	__le16 hdr_len;
-	u8 hdr[STRUCT_HACK_VAR_LEN];
+	u8 hdr_data[STRUCT_HACK_VAR_LEN];
 };
 
+#pragma pack(1)
 /* Add/Update/Remove large action command/response entry
  * "index" is returned as part of a response to a successful Add command, and
  * can be used to identify the action for Update/Get/Remove commands.
  */
 struct ice_sw_rule_lg_act {
+	struct ice_aqc_sw_rules_elem_hdr hdr;
+
 	__le16 index; /* Index in large action table */
 	__le16 size;
 	/* Max number of large actions */
@@ -957,16 +978,21 @@ struct ice_sw_rule_lg_act {
 #define ICE_LG_ACT_STAT_COUNT_M		(0x7F << ICE_LG_ACT_STAT_COUNT_S)
 	__le32 act[STRUCT_HACK_VAR_LEN]; /* array of size for actions */
 };
+#pragma pack()
 
+#pragma pack(1)
 /* Add/Update/Remove VSI list command/response entry
  * "index" is returned as part of a response to a successful Add command, and
  * can be used to identify the VSI list for Update/Get/Remove commands.
  */
 struct ice_sw_rule_vsi_list {
+	struct ice_aqc_sw_rules_elem_hdr hdr;
+
 	__le16 index; /* Index of VSI/Prune list */
 	__le16 number_vsi;
 	__le16 vsi[STRUCT_HACK_VAR_LEN]; /* Array of number_vsi VSI numbers */
 };
+#pragma pack()
 
 #pragma pack(1)
 /* Query VSI list command/response entry */
@@ -976,31 +1002,6 @@ struct ice_sw_rule_vsi_list_query {
 };
 #pragma pack()
 
-#pragma pack(1)
-/* Add switch rule response:
- * Content of return buffer is same as the input buffer. The status field and
- * LUT index are updated as part of the response
- */
-struct ice_aqc_sw_rules_elem {
-	__le16 type; /* Switch rule type, one of T_... */
-#define ICE_AQC_SW_RULES_T_LKUP_RX		0x0
-#define ICE_AQC_SW_RULES_T_LKUP_TX		0x1
-#define ICE_AQC_SW_RULES_T_LG_ACT		0x2
-#define ICE_AQC_SW_RULES_T_VSI_LIST_SET		0x3
-#define ICE_AQC_SW_RULES_T_VSI_LIST_CLEAR	0x4
-#define ICE_AQC_SW_RULES_T_PRUNE_LIST_SET	0x5
-#define ICE_AQC_SW_RULES_T_PRUNE_LIST_CLEAR	0x6
-	__le16 status;
-	union {
-		struct ice_sw_rule_lkup_rx_tx lkup_tx_rx;
-		struct ice_sw_rule_lg_act lg_act;
-		struct ice_sw_rule_vsi_list vsi_list;
-		struct ice_sw_rule_vsi_list_query vsi_list_query;
-	} pdata;
-};
-
-#pragma pack()
-
 /* PFC Ignore (direct 0x0301)
  * The command and response use the same descriptor structure
  */
@@ -1012,8 +1013,8 @@ struct ice_aqc_pfc_ignore {
 	u8	reserved[14];
 };
 
-/* Set PFC Mode (direct 0x0303)
- * Query PFC Mode (direct 0x0302)
+/* Query PFC Mode (direct 0x0302)
+ * Set PFC Mode (direct 0x0303)
  */
 struct ice_aqc_set_query_pfc_mode {
 	u8	pfc_mode;
@@ -2821,7 +2822,7 @@ struct ice_aqc_move_txqs_data {
 };
 
 /* Download Package (indirect 0x0C40) */
-/* Also used for Update Package (indirect 0x0C42 and 0x0C41) */
+/* Also used for Update Package (indirect 0x0C41 and 0x0C42) */
 struct ice_aqc_download_pkg {
 	u8 flags;
 #define ICE_AQC_DOWNLOAD_PKG_LAST_BUF	0x01
diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c
index fbfc92f294..73b4a8675e 100644
--- a/drivers/net/ice/base/ice_switch.c
+++ b/drivers/net/ice/base/ice_switch.c
@@ -19,7 +19,7 @@
 #define ICE_MPLS_ETHER_ID		0x8847
 #define ICE_ETH_P_8021Q			0x8100
 
-/* Dummy ethernet header needed in the ice_aqc_sw_rules_elem
+/* Dummy ethernet header needed in the ice_sw_rule_*
  * struct to configure any switch filter rules.
  * {DA (6 bytes), SA(6 bytes),
  * Ether type (2 bytes for header without VLAN tag) OR
@@ -3972,7 +3972,8 @@ static void ice_fill_sw_info(struct ice_hw *hw, struct ice_fltr_info *fi)
  */
 static void
 ice_fill_sw_rule(struct ice_hw *hw, struct ice_fltr_info *f_info,
-		 struct ice_aqc_sw_rules_elem *s_rule, enum ice_adminq_opc opc)
+		 struct ice_sw_rule_lkup_rx_tx *s_rule,
+		 enum ice_adminq_opc opc)
 {
 	u16 vlan_id = ICE_MAX_VLAN_ID + 1;
 	u16 vlan_tpid = ICE_ETH_P_8021Q;
@@ -3984,15 +3985,14 @@ ice_fill_sw_rule(struct ice_hw *hw, struct ice_fltr_info *f_info,
 	u8 q_rgn;
 
 	if (opc == ice_aqc_opc_remove_sw_rules) {
-		s_rule->pdata.lkup_tx_rx.act = 0;
-		s_rule->pdata.lkup_tx_rx.index =
-			CPU_TO_LE16(f_info->fltr_rule_id);
-		s_rule->pdata.lkup_tx_rx.hdr_len = 0;
+		s_rule->act = 0;
+		s_rule->index = CPU_TO_LE16(f_info->fltr_rule_id);
+		s_rule->hdr_len = 0;
 		return;
 	}
 
 	eth_hdr_sz = sizeof(dummy_eth_header);
-	eth_hdr = s_rule->pdata.lkup_tx_rx.hdr;
+	eth_hdr = s_rule->hdr_data;
 
 	/* initialize the ether header with a dummy header */
 	ice_memcpy(eth_hdr, dummy_eth_header, eth_hdr_sz, ICE_NONDMA_TO_NONDMA);
@@ -4077,14 +4077,14 @@ ice_fill_sw_rule(struct ice_hw *hw, struct ice_fltr_info *f_info,
 		break;
 	}
 
-	s_rule->type = (f_info->flag & ICE_FLTR_RX) ?
+	s_rule->hdr.type = (f_info->flag & ICE_FLTR_RX) ?
 		CPU_TO_LE16(ICE_AQC_SW_RULES_T_LKUP_RX) :
 		CPU_TO_LE16(ICE_AQC_SW_RULES_T_LKUP_TX);
 
 	/* Recipe set depending on lookup type */
-	s_rule->pdata.lkup_tx_rx.recipe_id = CPU_TO_LE16(f_info->lkup_type);
-	s_rule->pdata.lkup_tx_rx.src = CPU_TO_LE16(f_info->src);
-	s_rule->pdata.lkup_tx_rx.act = CPU_TO_LE32(act);
+	s_rule->recipe_id = CPU_TO_LE16(f_info->lkup_type);
+	s_rule->src = CPU_TO_LE16(f_info->src);
+	s_rule->act = CPU_TO_LE32(act);
 
 	if (daddr)
 		ice_memcpy(eth_hdr + ICE_ETH_DA_OFFSET, daddr, ETH_ALEN,
@@ -4099,7 +4099,7 @@ ice_fill_sw_rule(struct ice_hw *hw, struct ice_fltr_info *f_info,
 
 	/* Create the switch rule with the final dummy Ethernet header */
 	if (opc != ice_aqc_opc_update_sw_rules)
-		s_rule->pdata.lkup_tx_rx.hdr_len = CPU_TO_LE16(eth_hdr_sz);
+		s_rule->hdr_len = CPU_TO_LE16(eth_hdr_sz);
 }
 
 /**
@@ -4116,7 +4116,8 @@ static int
 ice_add_marker_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 		   u16 sw_marker, u16 l_id)
 {
-	struct ice_aqc_sw_rules_elem *lg_act, *rx_tx;
+	struct ice_sw_rule_lkup_rx_tx *rx_tx;
+	struct ice_sw_rule_lg_act *lg_act;
 	/* For software marker we need 3 large actions
 	 * 1. FWD action: FWD TO VSI or VSI LIST
 	 * 2. GENERIC VALUE action to hold the profile ID
@@ -4137,18 +4138,19 @@ ice_add_marker_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 	 *    1. Large Action
 	 *    2. Look up Tx Rx
 	 */
-	lg_act_size = (u16)ICE_SW_RULE_LG_ACT_SIZE(num_lg_acts);
-	rules_size = lg_act_size + ICE_SW_RULE_RX_TX_ETH_HDR_SIZE;
-	lg_act = (struct ice_aqc_sw_rules_elem *)ice_malloc(hw, rules_size);
+	lg_act_size = (u16)ice_struct_size(lg_act, act, num_lg_acts);
+	rules_size = lg_act_size +
+		     ice_struct_size(rx_tx, hdr_data, DUMMY_ETH_HDR_LEN);
+	lg_act = (struct ice_sw_rule_lg_act *)ice_malloc(hw, rules_size);
 	if (!lg_act)
 		return ICE_ERR_NO_MEMORY;
 
-	rx_tx = (struct ice_aqc_sw_rules_elem *)((u8 *)lg_act + lg_act_size);
+	rx_tx = (struct ice_sw_rule_lkup_rx_tx *)((u8 *)lg_act + lg_act_size);
 
 	/* Fill in the first switch rule i.e. large action */
-	lg_act->type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LG_ACT);
-	lg_act->pdata.lg_act.index = CPU_TO_LE16(l_id);
-	lg_act->pdata.lg_act.size = CPU_TO_LE16(num_lg_acts);
+	lg_act->hdr.type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LG_ACT);
+	lg_act->index = CPU_TO_LE16(l_id);
+	lg_act->size = CPU_TO_LE16(num_lg_acts);
 
 	/* First action VSI forwarding or VSI list forwarding depending on how
 	 * many VSIs
@@ -4160,13 +4162,13 @@ ice_add_marker_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 	act |= (id << ICE_LG_ACT_VSI_LIST_ID_S) & ICE_LG_ACT_VSI_LIST_ID_M;
 	if (m_ent->vsi_count > 1)
 		act |= ICE_LG_ACT_VSI_LIST;
-	lg_act->pdata.lg_act.act[0] = CPU_TO_LE32(act);
+	lg_act->act[0] = CPU_TO_LE32(act);
 
 	/* Second action descriptor type */
 	act = ICE_LG_ACT_GENERIC;
 
 	act |= (1 << ICE_LG_ACT_GENERIC_VALUE_S) & ICE_LG_ACT_GENERIC_VALUE_M;
-	lg_act->pdata.lg_act.act[1] = CPU_TO_LE32(act);
+	lg_act->act[1] = CPU_TO_LE32(act);
 
 	act = (ICE_LG_ACT_GENERIC_OFF_RX_DESC_PROF_IDX <<
 	       ICE_LG_ACT_GENERIC_OFFSET_S) & ICE_LG_ACT_GENERIC_OFFSET_M;
@@ -4176,24 +4178,22 @@ ice_add_marker_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 	act |= (sw_marker << ICE_LG_ACT_GENERIC_VALUE_S) &
 		ICE_LG_ACT_GENERIC_VALUE_M;
 
-	lg_act->pdata.lg_act.act[2] = CPU_TO_LE32(act);
+	lg_act->act[2] = CPU_TO_LE32(act);
 
 	/* call the fill switch rule to fill the lookup Tx Rx structure */
 	ice_fill_sw_rule(hw, &m_ent->fltr_info, rx_tx,
 			 ice_aqc_opc_update_sw_rules);
 
 	/* Update the action to point to the large action ID */
-	rx_tx->pdata.lkup_tx_rx.act =
-		CPU_TO_LE32(ICE_SINGLE_ACT_PTR |
-			    ((l_id << ICE_SINGLE_ACT_PTR_VAL_S) &
-			     ICE_SINGLE_ACT_PTR_VAL_M));
+	rx_tx->act = CPU_TO_LE32(ICE_SINGLE_ACT_PTR |
+				 ((l_id << ICE_SINGLE_ACT_PTR_VAL_S) &
+				  ICE_SINGLE_ACT_PTR_VAL_M));
 
 	/* Use the filter rule ID of the previously created rule with single
 	 * act. Once the update happens, hardware will treat this as large
 	 * action
 	 */
-	rx_tx->pdata.lkup_tx_rx.index =
-		CPU_TO_LE16(m_ent->fltr_info.fltr_rule_id);
+	rx_tx->index = CPU_TO_LE16(m_ent->fltr_info.fltr_rule_id);
 
 	status = ice_aq_sw_rules(hw, lg_act, rules_size, 2,
 				 ice_aqc_opc_update_sw_rules, NULL);
@@ -4217,8 +4217,9 @@ static int
 ice_add_counter_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 		    u16 counter_id, u16 l_id)
 {
-	struct ice_aqc_sw_rules_elem *lg_act;
-	struct ice_aqc_sw_rules_elem *rx_tx;
+	struct ice_sw_rule_lkup_rx_tx *rx_tx;
+	struct ice_sw_rule_lg_act *lg_act;
+
 	/* 2 actions will be added while adding a large action counter */
 	const int num_acts = 2;
 	u16 lg_act_size;
@@ -4236,18 +4237,20 @@ ice_add_counter_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 	 * 1. Large Action
 	 * 2. Look up Tx Rx
 	 */
-	lg_act_size = (u16)ICE_SW_RULE_LG_ACT_SIZE(num_acts);
-	rules_size = lg_act_size + ICE_SW_RULE_RX_TX_ETH_HDR_SIZE;
-	lg_act = (struct ice_aqc_sw_rules_elem *)ice_malloc(hw, rules_size);
+	lg_act_size = (u16)ice_struct_size(lg_act, act, num_acts);
+	rules_size = lg_act_size +
+		     ice_struct_size(rx_tx, hdr_data, DUMMY_ETH_HDR_LEN);
+	lg_act = (struct ice_sw_rule_lg_act *)ice_malloc(hw, rules_size);
 	if (!lg_act)
 		return ICE_ERR_NO_MEMORY;
 
-	rx_tx = (struct ice_aqc_sw_rules_elem *)((u8 *)lg_act + lg_act_size);
+	rx_tx = (struct ice_sw_rule_lkup_rx_tx *)((u8 *)lg_act +
+						      lg_act_size);
 
 	/* Fill in the first switch rule i.e. large action */
-	lg_act->type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LG_ACT);
-	lg_act->pdata.lg_act.index = CPU_TO_LE16(l_id);
-	lg_act->pdata.lg_act.size = CPU_TO_LE16(num_acts);
+	lg_act->hdr.type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LG_ACT);
+	lg_act->index = CPU_TO_LE16(l_id);
+	lg_act->size = CPU_TO_LE16(num_acts);
 
 	/* First action VSI forwarding or VSI list forwarding depending on how
 	 * many VSIs
@@ -4260,13 +4263,13 @@ ice_add_counter_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 		ICE_LG_ACT_VSI_LIST_ID_M;
 	if (m_ent->vsi_count > 1)
 		act |= ICE_LG_ACT_VSI_LIST;
-	lg_act->pdata.lg_act.act[0] = CPU_TO_LE32(act);
+	lg_act->act[0] = CPU_TO_LE32(act);
 
 	/* Second action counter ID */
 	act = ICE_LG_ACT_STAT_COUNT;
 	act |= (counter_id << ICE_LG_ACT_STAT_COUNT_S) &
 		ICE_LG_ACT_STAT_COUNT_M;
-	lg_act->pdata.lg_act.act[1] = CPU_TO_LE32(act);
+	lg_act->act[1] = CPU_TO_LE32(act);
 
 	/* call the fill switch rule to fill the lookup Tx Rx structure */
 	ice_fill_sw_rule(hw, &m_ent->fltr_info, rx_tx,
@@ -4274,14 +4277,14 @@ ice_add_counter_act(struct ice_hw *hw, struct ice_fltr_mgmt_list_entry *m_ent,
 
 	act = ICE_SINGLE_ACT_PTR;
 	act |= (l_id << ICE_SINGLE_ACT_PTR_VAL_S) & ICE_SINGLE_ACT_PTR_VAL_M;
-	rx_tx->pdata.lkup_tx_rx.act = CPU_TO_LE32(act);
+	rx_tx->act = CPU_TO_LE32(act);
 
 	/* Use the filter rule ID of the previously created rule with single
 	 * act. Once the update happens, hardware will treat this as large
 	 * action
 	 */
 	f_rule_id = m_ent->fltr_info.fltr_rule_id;
-	rx_tx->pdata.lkup_tx_rx.index = CPU_TO_LE16(f_rule_id);
+	rx_tx->index = CPU_TO_LE16(f_rule_id);
 
 	status = ice_aq_sw_rules(hw, lg_act, rules_size, 2,
 				 ice_aqc_opc_update_sw_rules, NULL);
@@ -4343,7 +4346,7 @@ ice_update_vsi_list_rule(struct ice_hw *hw, u16 *vsi_handle_arr, u16 num_vsi,
 			 u16 vsi_list_id, bool remove, enum ice_adminq_opc opc,
 			 enum ice_sw_lkup_type lkup_type)
 {
-	struct ice_aqc_sw_rules_elem *s_rule;
+	struct ice_sw_rule_vsi_list *s_rule;
 	u16 s_rule_size;
 	u16 rule_type;
 	int status;
@@ -4368,8 +4371,8 @@ ice_update_vsi_list_rule(struct ice_hw *hw, u16 *vsi_handle_arr, u16 num_vsi,
 	else
 		return ICE_ERR_PARAM;
 
-	s_rule_size = (u16)ICE_SW_RULE_VSI_LIST_SIZE(num_vsi);
-	s_rule = (struct ice_aqc_sw_rules_elem *)ice_malloc(hw, s_rule_size);
+	s_rule_size = (u16)ice_struct_size(s_rule, vsi, num_vsi);
+	s_rule = (struct ice_sw_rule_vsi_list *)ice_malloc(hw, s_rule_size);
 	if (!s_rule)
 		return ICE_ERR_NO_MEMORY;
 	for (i = 0; i < num_vsi; i++) {
@@ -4378,13 +4381,13 @@ ice_update_vsi_list_rule(struct ice_hw *hw, u16 *vsi_handle_arr, u16 num_vsi,
 			goto exit;
 		}
 		/* AQ call requires hw_vsi_id(s) */
-		s_rule->pdata.vsi_list.vsi[i] =
+		s_rule->vsi[i] =
 			CPU_TO_LE16(ice_get_hw_vsi_num(hw, vsi_handle_arr[i]));
 	}
 
-	s_rule->type = CPU_TO_LE16(rule_type);
-	s_rule->pdata.vsi_list.number_vsi = CPU_TO_LE16(num_vsi);
-	s_rule->pdata.vsi_list.index = CPU_TO_LE16(vsi_list_id);
+	s_rule->hdr.type = CPU_TO_LE16(rule_type);
+	s_rule->number_vsi = CPU_TO_LE16(num_vsi);
+	s_rule->index = CPU_TO_LE16(vsi_list_id);
 
 	status = ice_aq_sw_rules(hw, s_rule, s_rule_size, 1, opc, NULL);
 
@@ -4433,11 +4436,12 @@ ice_create_pkt_fwd_rule(struct ice_hw *hw, struct ice_sw_recipe *recp_list,
 			struct ice_fltr_list_entry *f_entry)
 {
 	struct ice_fltr_mgmt_list_entry *fm_entry;
-	struct ice_aqc_sw_rules_elem *s_rule;
+	struct ice_sw_rule_lkup_rx_tx *s_rule;
 	int status;
 
-	s_rule = (struct ice_aqc_sw_rules_elem *)
-		ice_malloc(hw, ICE_SW_RULE_RX_TX_ETH_HDR_SIZE);
+	s_rule = (struct ice_sw_rule_lkup_rx_tx *)
+		ice_malloc(hw, ice_struct_size(s_rule, hdr_data,
+					       DUMMY_ETH_HDR_LEN));
 	if (!s_rule)
 		return ICE_ERR_NO_MEMORY;
 	fm_entry = (struct ice_fltr_mgmt_list_entry *)
@@ -4458,17 +4462,17 @@ ice_create_pkt_fwd_rule(struct ice_hw *hw, struct ice_sw_recipe *recp_list,
 	ice_fill_sw_rule(hw, &fm_entry->fltr_info, s_rule,
 			 ice_aqc_opc_add_sw_rules);
 
-	status = ice_aq_sw_rules(hw, s_rule, ICE_SW_RULE_RX_TX_ETH_HDR_SIZE, 1,
-				 ice_aqc_opc_add_sw_rules, NULL);
+	status = ice_aq_sw_rules(hw, s_rule,
+				 ice_struct_size(s_rule, hdr_data,
+						 DUMMY_ETH_HDR_LEN),
+				 1, ice_aqc_opc_add_sw_rules, NULL);
 	if (status) {
 		ice_free(hw, fm_entry);
 		goto ice_create_pkt_fwd_rule_exit;
 	}
 
-	f_entry->fltr_info.fltr_rule_id =
-		LE16_TO_CPU(s_rule->pdata.lkup_tx_rx.index);
-	fm_entry->fltr_info.fltr_rule_id =
-		LE16_TO_CPU(s_rule->pdata.lkup_tx_rx.index);
+	f_entry->fltr_info.fltr_rule_id = LE16_TO_CPU(s_rule->index);
+	fm_entry->fltr_info.fltr_rule_id = LE16_TO_CPU(s_rule->index);
 
 	/* The book keeping entries will get removed when base driver
 	 * calls remove filter AQ command
@@ -4491,21 +4495,24 @@ ice_create_pkt_fwd_rule(struct ice_hw *hw, struct ice_sw_recipe *recp_list,
 static int
 ice_update_pkt_fwd_rule(struct ice_hw *hw, struct ice_fltr_info *f_info)
 {
-	struct ice_aqc_sw_rules_elem *s_rule;
+	struct ice_sw_rule_lkup_rx_tx *s_rule;
 	int status;
 
-	s_rule = (struct ice_aqc_sw_rules_elem *)
-		ice_malloc(hw, ICE_SW_RULE_RX_TX_ETH_HDR_SIZE);
+	s_rule = (struct ice_sw_rule_lkup_rx_tx *)
+		ice_malloc(hw, ice_struct_size(s_rule, hdr_data,
+					       DUMMY_ETH_HDR_LEN));
 	if (!s_rule)
 		return ICE_ERR_NO_MEMORY;
 
 	ice_fill_sw_rule(hw, f_info, s_rule, ice_aqc_opc_update_sw_rules);
 
-	s_rule->pdata.lkup_tx_rx.index = CPU_TO_LE16(f_info->fltr_rule_id);
+	s_rule->index = CPU_TO_LE16(f_info->fltr_rule_id);
 
 	/* Update switch rule with new rule set to forward VSI list */
-	status = ice_aq_sw_rules(hw, s_rule, ICE_SW_RULE_RX_TX_ETH_HDR_SIZE, 1,
-				 ice_aqc_opc_update_sw_rules, NULL);
+	status = ice_aq_sw_rules(hw, s_rule,
+				 ice_struct_size(s_rule, hdr_data,
+						 DUMMY_ETH_HDR_LEN),
+				 1, ice_aqc_opc_update_sw_rules, NULL);
 
 	ice_free(hw, s_rule);
 	return status;
@@ -4827,7 +4834,7 @@ ice_remove_vsi_list_rule(struct ice_hw *hw, u16 vsi_list_id,
  * @hw: pointer to the hardware structure
  * @vsi_handle: VSI handle of the VSI to remove
  * @fm_list: filter management entry for which the VSI list management needs to
- *	     be done
+ *           be done
  */
 static int
 ice_rem_update_vsi_list(struct ice_hw *hw, u16 vsi_handle,
@@ -4912,7 +4919,6 @@ ice_rem_update_vsi_list(struct ice_hw *hw, u16 vsi_handle,
 
 /**
  * ice_remove_rule_internal - Remove a filter rule of a given type
- *
  * @hw: pointer to the hardware structure
  * @recp_list: recipe list for which the rule needs to removed
  * @f_entry: rule entry containing filter information
@@ -4971,10 +4977,10 @@ ice_remove_rule_internal(struct ice_hw *hw, struct ice_sw_recipe *recp_list,
 
 	if (remove_rule) {
 		/* Remove the lookup rule */
-		struct ice_aqc_sw_rules_elem *s_rule;
+		struct ice_sw_rule_lkup_rx_tx *s_rule;
 
-		s_rule = (struct ice_aqc_sw_rules_elem *)
-			ice_malloc(hw, ICE_SW_RULE_RX_TX_NO_HDR_SIZE);
+		s_rule = (struct ice_sw_rule_lkup_rx_tx *)
+			ice_malloc(hw, ice_struct_size(s_rule, hdr_data, 0));
 		if (!s_rule) {
 			status = ICE_ERR_NO_MEMORY;
 			goto exit;
@@ -4984,8 +4990,8 @@ ice_remove_rule_internal(struct ice_hw *hw, struct ice_sw_recipe *recp_list,
 				 ice_aqc_opc_remove_sw_rules);
 
 		status = ice_aq_sw_rules(hw, s_rule,
-					 ICE_SW_RULE_RX_TX_NO_HDR_SIZE, 1,
-					 ice_aqc_opc_remove_sw_rules, NULL);
+					 ice_struct_size(s_rule, hdr_data, 0),
+					 1, ice_aqc_opc_remove_sw_rules, NULL);
 
 		/* Remove a book keeping from the list */
 		ice_free(hw, s_rule);
@@ -5101,7 +5107,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 		 struct ice_switch_info *sw, u8 lport)
 {
 	struct ice_sw_recipe *recp_list = &sw->recp_list[ICE_SW_LKUP_MAC];
-	struct ice_aqc_sw_rules_elem *s_rule, *r_iter;
+	struct ice_sw_rule_lkup_rx_tx *s_rule, *r_iter;
 	struct ice_fltr_list_entry *m_list_itr;
 	struct LIST_HEAD_TYPE *rule_head;
 	u16 total_elem_left, s_rule_size;
@@ -5162,8 +5168,8 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 	}
 
 	/* Allocate switch rule buffer for the bulk update for unicast */
-	s_rule_size = ICE_SW_RULE_RX_TX_ETH_HDR_SIZE;
-	s_rule = (struct ice_aqc_sw_rules_elem *)
+	s_rule_size = ice_struct_size(s_rule, hdr_data, DUMMY_ETH_HDR_LEN);
+	s_rule = (struct ice_sw_rule_lkup_rx_tx *)
 		ice_calloc(hw, num_unicast, s_rule_size);
 	if (!s_rule) {
 		status = ICE_ERR_NO_MEMORY;
@@ -5179,7 +5185,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 		if (IS_UNICAST_ETHER_ADDR(mac_addr)) {
 			ice_fill_sw_rule(hw, &m_list_itr->fltr_info, r_iter,
 					 ice_aqc_opc_add_sw_rules);
-			r_iter = (struct ice_aqc_sw_rules_elem *)
+			r_iter = (struct ice_sw_rule_lkup_rx_tx *)
 				((u8 *)r_iter + s_rule_size);
 		}
 	}
@@ -5189,7 +5195,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 	/* Call AQ switch rule in AQ_MAX chunk */
 	for (total_elem_left = num_unicast; total_elem_left > 0;
 	     total_elem_left -= elem_sent) {
-		struct ice_aqc_sw_rules_elem *entry = r_iter;
+		struct ice_sw_rule_lkup_rx_tx *entry = r_iter;
 
 		elem_sent = MIN_T(u8, total_elem_left,
 				  (ICE_AQ_MAX_BUF_LEN / s_rule_size));
@@ -5198,7 +5204,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 					 NULL);
 		if (status)
 			goto ice_add_mac_exit;
-		r_iter = (struct ice_aqc_sw_rules_elem *)
+		r_iter = (struct ice_sw_rule_lkup_rx_tx *)
 			((u8 *)r_iter + (elem_sent * s_rule_size));
 	}
 
@@ -5212,7 +5218,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 
 		if (IS_UNICAST_ETHER_ADDR(mac_addr)) {
 			f_info->fltr_rule_id =
-				LE16_TO_CPU(r_iter->pdata.lkup_tx_rx.index);
+				LE16_TO_CPU(r_iter->index);
 			f_info->fltr_act = ICE_FWD_TO_VSI;
 			/* Create an entry to track this MAC address */
 			fm_entry = (struct ice_fltr_mgmt_list_entry *)
@@ -5228,7 +5234,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 			 */
 
 			LIST_ADD(&fm_entry->list_entry, rule_head);
-			r_iter = (struct ice_aqc_sw_rules_elem *)
+			r_iter = (struct ice_sw_rule_lkup_rx_tx *)
 				((u8 *)r_iter + s_rule_size);
 		}
 	}
@@ -8823,7 +8829,7 @@ ice_find_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
  */
 static int
 ice_fill_adv_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
-			  struct ice_aqc_sw_rules_elem *s_rule,
+			  struct ice_sw_rule_lkup_rx_tx *s_rule,
 			  const u8 *dummy_pkt, u16 pkt_len,
 			  const struct ice_dummy_pkt_offsets *offsets)
 {
@@ -8833,7 +8839,7 @@ ice_fill_adv_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
 	/* Start with a packet with a pre-defined/dummy content. Then, fill
 	 * in the header values to be looked up or matched.
 	 */
-	pkt = s_rule->pdata.lkup_tx_rx.hdr;
+	pkt = s_rule->hdr_data;
 
 	ice_memcpy(pkt, dummy_pkt, pkt_len, ICE_NONDMA_TO_NONDMA);
 
@@ -8895,10 +8901,6 @@ ice_fill_adv_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
 		case ICE_VXLAN_GPE:
 			len = sizeof(struct ice_udp_tnl_hdr);
 			break;
-
-		case ICE_PPPOE:
-			len = sizeof(struct ice_pppoe_hdr);
-			break;
 		case ICE_ESP:
 			len = sizeof(struct ice_esp_hdr);
 			break;
@@ -8908,13 +8910,16 @@ ice_fill_adv_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
 		case ICE_AH:
 			len = sizeof(struct ice_ah_hdr);
 			break;
-		case ICE_L2TPV3:
-			len = sizeof(struct ice_l2tpv3_sess_hdr);
-			break;
-		case ICE_GTP:
 		case ICE_GTP_NO_PAY:
+		case ICE_GTP:
 			len = sizeof(struct ice_udp_gtp_hdr);
 			break;
+		case ICE_PPPOE:
+			len = sizeof(struct ice_pppoe_hdr);
+			break;
+		case ICE_L2TPV3:
+			len = sizeof(struct ice_l2tpv3_sess_hdr);
+			break;
 		default:
 			return ICE_ERR_PARAM;
 		}
@@ -8939,7 +8944,7 @@ ice_fill_adv_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
 					 ((u16 *)&lkups[i].m_u)[j]);
 	}
 
-	s_rule->pdata.lkup_tx_rx.hdr_len = CPU_TO_LE16(pkt_len);
+	s_rule->hdr_len = CPU_TO_LE16(pkt_len);
 
 	return 0;
 }
@@ -8966,13 +8971,11 @@ ice_fill_adv_packet_tun(struct ice_hw *hw, enum ice_sw_tunnel_type tun_type,
 		if (!ice_get_open_tunnel_port(hw, TNL_VXLAN, &open_port))
 			return ICE_ERR_CFG;
 		break;
-
 	case ICE_SW_TUN_GENEVE:
 	case ICE_SW_TUN_GENEVE_VLAN:
 		if (!ice_get_open_tunnel_port(hw, TNL_GENEVE, &open_port))
 			return ICE_ERR_CFG;
 		break;
-
 	default:
 		/* Nothing needs to be done for this tunnel type */
 		return 0;
@@ -9256,14 +9259,15 @@ ice_set_lg_action_entry(u8 act_type, union lg_act_entry *lg_entry)
  * Fill a large action to hold software marker and link the lookup rule
  * with an action pointing to this larger action
  */
-static struct ice_aqc_sw_rules_elem *
+static struct ice_sw_rule_lg_act *
 ice_fill_sw_marker_lg_act(struct ice_hw *hw, u32 sw_marker, u16 l_id,
 			  u16 lkup_rule_sz, u16 lg_act_size, u16 num_lg_acts,
-			  struct ice_aqc_sw_rules_elem *s_rule)
+			  struct ice_sw_rule_lkup_rx_tx *s_rule)
 {
-	struct ice_aqc_sw_rules_elem *rx_tx, *lg_act;
+	struct ice_sw_rule_lkup_rx_tx *rx_tx;
 	const u16 offset_generic_md_word_0 = 0;
 	const u16 offset_generic_md_word_1 = 1;
+	struct ice_sw_rule_lg_act *lg_act;
 	union lg_act_entry lg_e_lo;
 	union lg_act_entry lg_e_hi;
 	const u8 priority = 0x3;
@@ -9272,19 +9276,19 @@ ice_fill_sw_marker_lg_act(struct ice_hw *hw, u32 sw_marker, u16 l_id,
 
 	/* For software marker we need 2 large actions for 32 bit mark id */
 	rules_size = lg_act_size + lkup_rule_sz;
-	lg_act = (struct ice_aqc_sw_rules_elem *)ice_malloc(hw, rules_size);
+	lg_act = (struct ice_sw_rule_lg_act *)ice_malloc(hw, rules_size);
 	if (!lg_act)
 		return NULL;
 
-	rx_tx = (struct ice_aqc_sw_rules_elem *)((u8 *)lg_act + lg_act_size);
+	rx_tx = (struct ice_sw_rule_lkup_rx_tx *)((u8 *)lg_act + lg_act_size);
 
 	ice_memcpy(rx_tx, s_rule, lkup_rule_sz, ICE_NONDMA_TO_NONDMA);
 	ice_free(hw, s_rule);
 	s_rule = NULL;
 
-	lg_act->type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LG_ACT);
-	lg_act->pdata.lg_act.index = CPU_TO_LE16(l_id);
-	lg_act->pdata.lg_act.size = CPU_TO_LE16(num_lg_acts);
+	lg_act->hdr.type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LG_ACT);
+	lg_act->index = CPU_TO_LE16(l_id);
+	lg_act->size = CPU_TO_LE16(num_lg_acts);
 
 	/* GENERIC VALUE action to hold the software marker ID low 16 bits */
 	/* and set in meta data index 4 by default. */
@@ -9292,7 +9296,7 @@ ice_fill_sw_marker_lg_act(struct ice_hw *hw, u32 sw_marker, u16 l_id,
 	lg_e_lo.generic_act.offset = offset_generic_md_word_0;
 	lg_e_lo.generic_act.priority = priority;
 	act = ice_set_lg_action_entry(ICE_LG_ACT_GENERIC, &lg_e_lo);
-	lg_act->pdata.lg_act.act[0] = CPU_TO_LE32(act);
+	lg_act->act[0] = CPU_TO_LE32(act);
 
 	if (num_lg_acts == 1)
 		return lg_act;
@@ -9304,7 +9308,7 @@ ice_fill_sw_marker_lg_act(struct ice_hw *hw, u32 sw_marker, u16 l_id,
 	lg_e_hi.generic_act.offset = offset_generic_md_word_1;
 	lg_e_hi.generic_act.priority = priority;
 	act = ice_set_lg_action_entry(ICE_LG_ACT_GENERIC, &lg_e_hi);
-	lg_act->pdata.lg_act.act[1] = CPU_TO_LE32(act);
+	lg_act->act[1] = CPU_TO_LE32(act);
 
 	return lg_act;
 }
@@ -9336,9 +9340,9 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 	u16 lg_act_sz, lg_act_id = ICE_INVAL_LG_ACT_INDEX;
 	u16 rid = 0, i, pkt_len, rule_buf_sz, vsi_handle;
 	const struct ice_dummy_pkt_offsets *pkt_offsets;
-	struct ice_aqc_sw_rules_elem *lg_rule = NULL;
-	struct ice_aqc_sw_rules_elem *s_rule = NULL;
-	struct ice_aqc_sw_rules_elem *rx_tx;
+	struct ice_sw_rule_lg_act *lg_rule = NULL;
+	struct ice_sw_rule_lkup_rx_tx *s_rule = NULL;
+	struct ice_sw_rule_lkup_rx_tx *rx_tx;
 	struct LIST_HEAD_TYPE *rule_head;
 	struct ice_switch_info *sw;
 	u16 nb_lg_acts_mark = 1;
@@ -9427,8 +9431,8 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 		}
 		return status;
 	}
-	rule_buf_sz = ICE_SW_RULE_RX_TX_NO_HDR_SIZE + pkt_len;
-	s_rule = (struct ice_aqc_sw_rules_elem *)ice_malloc(hw, rule_buf_sz);
+	rule_buf_sz = ice_struct_size(s_rule, hdr_data, 0) + pkt_len;
+	s_rule = (struct ice_sw_rule_lkup_rx_tx *)ice_malloc(hw, rule_buf_sz);
 	if (!s_rule)
 		return ICE_ERR_NO_MEMORY;
 	if (!rinfo->flags_info.act_valid)
@@ -9479,24 +9483,23 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 		goto err_ice_add_adv_rule;
 	}
 
-	/* set the rule LOOKUP type based on caller specified 'RX'
+	/* set the rule LOOKUP type based on caller specified 'Rx'
 	 * instead of hardcoding it to be either LOOKUP_TX/RX
 	 *
-	 * for 'RX' set the source to be the port number
-	 * for 'TX' set the source to be the source HW VSI number (determined
+	 * for 'Rx' set the source to be the port number
+	 * for 'Tx' set the source to be the source HW VSI number (determined
 	 * by caller)
 	 */
 	if (rinfo->rx) {
-		s_rule->type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LKUP_RX);
-		s_rule->pdata.lkup_tx_rx.src =
-			CPU_TO_LE16(hw->port_info->lport);
+		s_rule->hdr.type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LKUP_RX);
+		s_rule->src = CPU_TO_LE16(hw->port_info->lport);
 	} else {
-		s_rule->type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LKUP_TX);
-		s_rule->pdata.lkup_tx_rx.src = CPU_TO_LE16(rinfo->sw_act.src);
+		s_rule->hdr.type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LKUP_TX);
+		s_rule->src = CPU_TO_LE16(rinfo->sw_act.src);
 	}
 
-	s_rule->pdata.lkup_tx_rx.recipe_id = CPU_TO_LE16(rid);
-	s_rule->pdata.lkup_tx_rx.act = CPU_TO_LE32(act);
+	s_rule->recipe_id = CPU_TO_LE16(rid);
+	s_rule->act = CPU_TO_LE32(act);
 
 	status = ice_fill_adv_dummy_packet(lkups, lkups_cnt, s_rule, pkt,
 					   pkt_len, pkt_offsets);
@@ -9506,7 +9509,7 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 	if (rinfo->tun_type != ICE_NON_TUN &&
 	    rinfo->tun_type != ICE_SW_TUN_AND_NON_TUN) {
 		status = ice_fill_adv_packet_tun(hw, rinfo->tun_type,
-						 s_rule->pdata.lkup_tx_rx.hdr,
+						 s_rule->hdr_data,
 						 pkt_offsets);
 		if (status)
 			goto err_ice_add_adv_rule;
@@ -9514,7 +9517,7 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 
 	if (rinfo->vlan_type != 0 && ice_is_dvm_ena(hw)) {
 		status = ice_fill_adv_packet_vlan(rinfo->vlan_type,
-						  s_rule->pdata.lkup_tx_rx.hdr,
+						  s_rule->hdr_data,
 						  pkt_offsets);
 		if (status)
 			goto err_ice_add_adv_rule;
@@ -9522,7 +9525,7 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 
 	rx_tx = s_rule;
 	if (rinfo->sw_act.fltr_act == ICE_SET_MARK) {
-		lg_act_sz = (u16)ICE_SW_RULE_LG_ACT_SIZE(nb_lg_acts_mark);
+		lg_act_sz = (u16)ice_struct_size(lg_rule, act, nb_lg_acts_mark);
 		lg_rule = ice_fill_sw_marker_lg_act(hw, rinfo->sw_act.markid,
 						    lg_act_id, rule_buf_sz,
 						    lg_act_sz, nb_lg_acts_mark,
@@ -9530,10 +9533,10 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 		if (!lg_rule)
 			goto err_ice_add_adv_rule;
 
-		s_rule = lg_rule;
+		s_rule = (struct ice_sw_rule_lkup_rx_tx *)lg_rule;
 		rule_buf_sz += lg_act_sz;
 		num_rules += 1;
-		rx_tx = (struct ice_aqc_sw_rules_elem *)
+		rx_tx = (struct ice_sw_rule_lkup_rx_tx *)
 			((u8 *)s_rule + lg_act_sz);
 	}
 
@@ -9564,7 +9567,7 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 	adv_fltr->lkups_cnt = lkups_cnt;
 	adv_fltr->rule_info = *rinfo;
 	adv_fltr->rule_info.fltr_rule_id =
-		LE16_TO_CPU(rx_tx->pdata.lkup_tx_rx.index);
+		LE16_TO_CPU(rx_tx->index);
 	adv_fltr->rule_info.lg_id = LE16_TO_CPU(lg_act_id);
 	sw = hw->switch_info;
 	sw->recp_list[rid].adv_rule = true;
@@ -9760,23 +9763,21 @@ ice_rem_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 	}
 	ice_release_lock(rule_lock);
 	if (remove_rule) {
-		struct ice_aqc_sw_rules_elem *s_rule;
+		struct ice_sw_rule_lkup_rx_tx *s_rule;
 		u16 rule_buf_sz;
 
 		if (rinfo->sw_act.fltr_act == ICE_SET_MARK)
 			ice_free_sw_marker_lg(hw, list_elem->rule_info.lg_id,
 					      rinfo->sw_act.markid);
-		rule_buf_sz = ICE_SW_RULE_RX_TX_NO_HDR_SIZE;
-		s_rule = (struct ice_aqc_sw_rules_elem *)
+		rule_buf_sz = ice_struct_size(s_rule, hdr_data, 0);
+		s_rule = (struct ice_sw_rule_lkup_rx_tx *)
 			ice_malloc(hw, rule_buf_sz);
 		if (!s_rule)
 			return ICE_ERR_NO_MEMORY;
-		s_rule->pdata.lkup_tx_rx.act = 0;
-		s_rule->pdata.lkup_tx_rx.index =
-			CPU_TO_LE16(list_elem->rule_info.fltr_rule_id);
-		s_rule->pdata.lkup_tx_rx.hdr_len = 0;
-		status = ice_aq_sw_rules(hw, (struct ice_aqc_sw_rules *)s_rule,
-					 rule_buf_sz, 1,
+		s_rule->act = 0;
+		s_rule->index = CPU_TO_LE16(list_elem->rule_info.fltr_rule_id);
+		s_rule->hdr_len = 0;
+		status = ice_aq_sw_rules(hw, s_rule, rule_buf_sz, 1,
 					 ice_aqc_opc_remove_sw_rules, NULL);
 		if (status == ICE_SUCCESS || status == ICE_ERR_DOES_NOT_EXIST) {
 			struct ice_switch_info *sw = hw->switch_info;
@@ -9832,20 +9833,20 @@ ice_rem_adv_rule_by_id(struct ice_hw *hw,
 
 /**
  * ice_rem_adv_rule_for_vsi - removes existing advanced switch rules for a
- *                       given VSI handle
+ *                            given VSI handle
  * @hw: pointer to the hardware structure
  * @vsi_handle: VSI handle for which we are supposed to remove all the rules.
  *
  * This function is used to remove all the rules for a given VSI and as soon
  * as removing a rule fails, it will return immediately with the error code,
- * else it will return 0
+ * else it will return success
  */
 int ice_rem_adv_rule_for_vsi(struct ice_hw *hw, u16 vsi_handle)
 {
 	struct ice_adv_fltr_mgmt_list_entry *list_itr, *tmp_entry;
 	struct ice_vsi_list_map_info *map_info;
-	struct LIST_HEAD_TYPE *list_head;
 	struct ice_adv_rule_info rinfo;
+	struct LIST_HEAD_TYPE *list_head;
 	struct ice_switch_info *sw;
 	int status;
 	u8 rid;
diff --git a/drivers/net/ice/base/ice_switch.h b/drivers/net/ice/base/ice_switch.h
index 0cf86ec965..38daab0adb 100644
--- a/drivers/net/ice/base/ice_switch.h
+++ b/drivers/net/ice/base/ice_switch.h
@@ -71,18 +71,6 @@
 #define ICE_PROFID_IPV6_PFCP_SESSION	82
 
 #define DUMMY_ETH_HDR_LEN		16
-#define ICE_SW_RULE_RX_TX_ETH_HDR_SIZE \
-	(offsetof(struct ice_aqc_sw_rules_elem, pdata.lkup_tx_rx.hdr) + \
-	 (DUMMY_ETH_HDR_LEN * \
-	  sizeof(((struct ice_sw_rule_lkup_rx_tx *)0)->hdr[0])))
-#define ICE_SW_RULE_RX_TX_NO_HDR_SIZE \
-	(offsetof(struct ice_aqc_sw_rules_elem, pdata.lkup_tx_rx.hdr))
-#define ICE_SW_RULE_LG_ACT_SIZE(n) \
-	(offsetof(struct ice_aqc_sw_rules_elem, pdata.lg_act.act) + \
-	 ((n) * sizeof(((struct ice_sw_rule_lg_act *)0)->act[0])))
-#define ICE_SW_RULE_VSI_LIST_SIZE(n) \
-	(offsetof(struct ice_aqc_sw_rules_elem, pdata.vsi_list.vsi) + \
-	 ((n) * sizeof(((struct ice_sw_rule_vsi_list *)0)->vsi[0])))
 
 /* Worst case buffer length for ice_aqc_opc_get_res_alloc */
 #define ICE_MAX_RES_TYPES 0x80
-- 
2.43.0


  parent reply	other threads:[~2024-06-12 15:07 UTC|newest]

Thread overview: 428+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-30 15:40 [RFC] net/ice: Update base code with latest snapshot Ian Stokes
2024-05-01  8:19 ` Thomas Monjalon
2024-05-01  9:06   ` Bruce Richardson
2024-05-01 12:08     ` Thomas Monjalon
2024-06-12 14:59 ` [PATCH v2 000/148] Update net/ice base driver to latest upstream snapshot Anatoly Burakov
2024-06-12 14:59   ` [PATCH v2 001/148] net/ice/base: convert enum ice_status to int Anatoly Burakov
2024-06-12 14:59   ` [PATCH v2 002/148] net/ice/base: replace ICE_SUCCESS with int Anatoly Burakov
2024-06-12 14:59   ` [PATCH v2 003/148] net/ice/base: update E830 headers Anatoly Burakov
2024-06-12 14:59   ` [PATCH v2 004/148] net/ice/base: update phy config during link restart Anatoly Burakov
2024-06-19 14:42     ` Bruce Richardson
2024-06-12 14:59   ` [PATCH v2 005/148] net/ice/base: fix for pointer to variable outside scope Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 006/148] net/ice/base: add missing include for flow Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 007/148] net/ice/base: add ability to set markid via switch filter Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 008/148] net/ice/base: improve ice_debug_cq messages Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 009/148] net/ice/base: add mgmt netlist auth support command Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 010/148] net/ice/base: fix undefined variables Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 011/148] net/ice/base: fix get media type Anatoly Burakov
2024-06-19 14:53     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 012/148] net/ice/base: clean up __ice_aq_get_set_rss_lut() Anatoly Burakov
2024-06-13  6:17     ` Przemek Kitszel
2024-06-21 12:31       ` Burakov, Anatoly
2024-06-19 14:55     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 013/148] net/ice/base: update flow seg fields to declared bitmaps Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 014/148] net/ice/base: update interface in ice_parse_common_caps Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 015/148] net/ice/base: refactor (non) bitmap declarations Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 016/148] net/ice/base: remove unnecessary control queue cmd_buf arrays Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 017/148] net/ice/base: alloc port_info only once Anatoly Burakov
2024-06-12 15:00   ` Anatoly Burakov [this message]
2024-06-12 15:00   ` [PATCH v2 019/148] net/ice/base: bring back ability to use 128 as size of PF type RSS LUT Anatoly Burakov
2024-06-19 15:51     ` Przemek Kitszel
2024-06-12 15:00   ` [PATCH v2 020/148] net/ice/base: support for OROM update in recovery mode Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 021/148] net/ice/base: code adjustments for E830 Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 022/148] net/ice/base: improve find recipe routine Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 023/148] net/ice/base: fix memory leak when checking firmware version Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 024/148] net/ice/base: add LL Tx timestamp interrupt read Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 025/148] net/ice/base: use model-dependent number of PHY ports Anatoly Burakov
2024-06-19 15:32     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 026/148] net/ice/base: use ice_bitmap_t in promisc functions Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 027/148] net/ice/base: fix rx-only unicast promiscuous mode Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 028/148] net/ice/base: add support for E825-C TX clock changing Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 029/148] net/ice/base: fix for applying multiple cloud filters Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 030/148] net/ice/base: limit PF RSS LUT to one VSI at time Anatoly Burakov
2024-06-19 15:41     ` Bruce Richardson
2024-06-19 15:53       ` Przemek Kitszel
2024-06-12 15:00   ` [PATCH v2 031/148] net/ice/base: prevent potential integer overflow Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 032/148] net/ice/base: cosmetic changes Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 033/148] net/ice/base: implement initial PTP support for E830 Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 034/148] net/ice/base: fix resource leak Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 035/148] net/ice/base: move lock outside of if-else Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 036/148] net/ice/base: refactor control queue send delay Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 037/148] net/ice/base: fix NVM feature check Anatoly Burakov
2024-06-20 10:28     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 038/148] net/ice/base: allow for dumping all clusters Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 039/148] net/ice/base: remove PTP aqc_driver_params Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 040/148] net/ice/base: add FW load status mask Anatoly Burakov
2024-06-20 10:29     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 041/148] net/ice/base: add direction metadata Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 042/148] net/ice/base: change data buffer in i2c write to be const Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 043/148] net/ice/base: remove unused code from upstream build Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 044/148] net/ice/base: fix sign-extension Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 045/148] net/ice/base: implement switch recipe reuse feature Anatoly Burakov
2024-06-18 14:53     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 046/148] net/ice/base: add helper function for refsync Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 047/148] net/ice/base: added informational message for NAC topology Anatoly Burakov
2024-06-20 12:02     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 048/148] net/ice/base: add Cage Max Power override NVM module Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 049/148] net/ice/base: adapt No FEC in Auto support check to add E82X devices Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 050/148] net/ice/base: move (read|write)_sma_ctrl functions to match upstream Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 051/148] net/ice/base: fix incorrect size when allocating children arrays Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 052/148] net/ice/base: fix GCS descriptor field offsets Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 053/148] net/ice/base: add VSI type for subfunctions Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 054/148] net/ice/base: correct the return type of ice_bitmap_hweight Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 055/148] net/ice/base: fix ice_ptp_one_port_cmd to avoid stale PHY commands Anatoly Burakov
2024-06-18 15:10     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 056/148] net/ice/base: remove dead code from ice_get_ddp_pkg_state Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 057/148] net/ice/base: get rid of enum ice_status Anatoly Burakov
2024-06-18 15:19     ` Bruce Richardson
2024-06-12 15:00   ` [PATCH v2 058/148] net/ice/base: use ICE_PTP_NOP to better indicate no action Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 059/148] net/ice/base: add fw log file Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 060/148] net/ice/base: update comments regarding clearing timestamps Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 061/148] net/ice/base: use "err" instead of "status" in ice_ptp_hw.c Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 062/148] net/ice/base: re-number E810-T subdevice IDs to match upstream Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 063/148] net/ice/base: enable RDMA Act-Act unload paths Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 064/148] net/ice/base: parse 1PPS GPIO in 1588 function caps Anatoly Burakov
2024-06-12 15:00   ` [PATCH v2 065/148] net/ice/base: rename netlist check functions to match upstream Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 066/148] net/ice/base: fix check for existing switch rule Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 067/148] net/ice/base: fall back to safe CGU params Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 068/148] net/ice/base: change tmr_idx to u32 Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 069/148] net/ice/base: be more verbose when preparing timer sync Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 070/148] net/ice/base: be more verbose in configuring Rx timestamp offset Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 071/148] net/ice/base: match code style to upstream Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 072/148] net/ice/base: update strict status when assigning BW limits Anatoly Burakov
2024-06-20 13:32     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 073/148] net/ice/base: remove unused define Anatoly Burakov
2024-06-20 13:38     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 074/148] net/ice/base: improve read retry value calculation Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 075/148] net/ice/base: check if recipe buffer was already allocated Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 076/148] net/ice/base: fix handling recipes when reusing is not supported Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 077/148] net/ice/base: use correct type Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 078/148] net/ice/base: read OROM in a loop Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 079/148] net/ice/base: ignore snprintf return value Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 080/148] net/ice/base: check array bounds Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 081/148] net/ice/base: copy output IO params from command descriptor Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 082/148] net/ice/base: enable Next Cluster ID capability Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 083/148] net/ice/base: fix potential TLV length overflow Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 084/148] net/ice/base: add function to read SDP section from NVM Anatoly Burakov
2024-06-20 14:44     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 085/148] net/ice/base: add Floating VEB support Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 086/148] net/ice/base: add defines for loopback mode Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 087/148] net/ice/base: allow skipping PF clear Anatoly Burakov
2024-06-20 14:56     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 088/148] net/ice/base: fix in the definition of the Board Type Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 089/148] net/ice/base : make ice_clear_vsi_q_ctx() non-static Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 090/148] net/ice/base: fix package download algorithm Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 091/148] net/ice/base: allows packages with mixed signature presence Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 092/148] net/ice/base: fix ice_memcpy type specifiers Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 093/148] net/ice/base: allow different FW API versions based on MAC type Anatoly Burakov
2024-06-20 15:41     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 094/148] net/ice/base: add 32 GT bus speed enumerated value Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 095/148] net/ice/base: add E830 debug dump cluster ID values Anatoly Burakov
2024-06-20 15:43     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 096/148] net/ice/base: fix for preparing PHY for timesync command Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 097/148] net/ice/base: support for firmware sanitization Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 098/148] net/ice/base: add 200G speeds to PHY types decoding Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 099/148] net/ice/base: temporary workaround for E830 signed package support Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 100/148] net/ice/base: add PHY OFFSET_READY register clearing Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 101/148] net/ice/base: rename PHY model designator fields and functions Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 102/148] net/ice/base: enable SB access explicitly before 1st PHY access Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 103/148] net/ice/base: refactor ETH56G PHY initialization Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 104/148] net/ice/base: refactor ETH56G support for miltiple PHYs per MAC Anatoly Burakov
2024-06-18 16:19     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 105/148] net/ice/base: implement interface to reset timestamp memory Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 106/148] net/ice/base: fix iterations over PTP ports Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 107/148] net/ice/base: return high address for multi-read eth56g registers Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 108/148] net/ice/base: add function to read Tx timestamp status register Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 109/148] net/ice/base: implement upper-level PHY control functions Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 110/148] net/ice/base: squash multiple fixes for e56g device Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 111/148] net/ice/base: add PHY statistics dump Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 112/148] net/ice/base: move ice_ptp_init_phy_model to align with upstream Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 113/148] net/ice/base: add Get Link Status Data version 2 Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 114/148] net/ice/base: add port option commands Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 115/148] net/ice/base: merge unified E830 headers Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 116/148] net/ice/base: replace array initialization with macros Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 117/148] net/ice/base: switch speed conversions to static lookups Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 118/148] net/ice/base: support E830 in DDP pkg handling Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 119/148] net/ice/base: support E830 in Topology AQ command Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 120/148] net/ice/base: add E830 PTP init Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 121/148] net/ice/base: allow skipping main timer programming Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 122/148] net/ice/base: add missing files for shared code update Anatoly Burakov
2024-06-21 13:47     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 123/148] net/ice/base: align code to upstream Anatoly Burakov
2024-06-12 15:01   ` [PATCH v2 124/148] net/ice/base: use const char* array for storing link modes Anatoly Burakov
2024-06-21 14:00     ` Bruce Richardson
2024-06-12 15:01   ` [PATCH v2 125/148] net/ice/base: fix compile issues on some targets Anatoly Burakov
2024-06-18 17:05     ` Bruce Richardson
2024-06-12 15:02   ` [PATCH v2 126/148] net/ice/base: move code to common headers Anatoly Burakov
2024-06-21 14:02     ` Bruce Richardson
2024-06-12 15:02   ` [PATCH v2 127/148] net/ice/base: make some switch-related functions static Anatoly Burakov
2024-06-21 14:03     ` Bruce Richardson
2024-06-12 15:02   ` [PATCH v2 128/148] net/ice/base: add support for L2TP on switch Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 129/148] net/ice/base: add L2TPv3 support for adv rules Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 130/148] net/ice/base: detect and store device sensor reading capability Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 131/148] net/ice/base: add missing defines and misc cleanup Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 132/148] net/ice/base: increase PF reset wait timeout to 500 milliseconds Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 133/148] net/ice/base: fix memcpy type Anatoly Burakov
2024-06-21 14:40     ` Bruce Richardson
2024-06-12 15:02   ` [PATCH v2 134/148] net/ice/base: too big a timeout for QV diagnostic tests Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 135/148] net/ice/base: fix ice_get_ctx() issue Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 136/148] net/ice/base: add AQ function to configure SyncE error reporting Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 137/148] net/ice/base: support DCF query port ETS adminq Anatoly Burakov
2024-06-21 14:49     ` Bruce Richardson
2024-06-12 15:02   ` [PATCH v2 138/148] net/ice/base: update boost struct for traffic types Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 139/148] net/ice/base: clean up ice_lan_tx_rx Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 140/148] net/ice/base: enable CGU error reporting Anatoly Burakov
2024-06-21 15:08     ` Bruce Richardson
2024-06-12 15:02   ` [PATCH v2 141/148] net/ice/base: cleanup timestamp registers correctly Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 142/148] net/ice/base: rework multiple functions Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 143/148] net/ice/base: change a method to get pca9575 handle Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 144/148] net/ice/base: rename SMA register macros to match Linux upstream Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 145/148] net/ice/base: introduce new functions in ice_sched_node Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 146/148] net/ice/base: misc header file clean up Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 147/148] net/ice: update rss lut value for RSS init Anatoly Burakov
2024-06-12 15:02   ` [PATCH v2 148/148] net/ice: add new device ids Anatoly Burakov
2024-06-12 15:08   ` [PATCH v2 000/148] Update net/ice base driver to latest upstream snapshot Burakov, Anatoly
2024-06-12 15:51     ` Ferruh Yigit
2024-06-12 18:29       ` Burakov, Anatoly
2024-06-25 11:12   ` [PATCH v3 000/129] " Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 001/129] net/ice/base: convert enum ice_status to int Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 002/129] net/ice/base: replace ICE_SUCCESS with int Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 003/129] net/ice/base: add E830 definitions Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 004/129] net/ice/base: update phy config during link restart Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 005/129] net/ice/base: fix for pointer to variable outside scope Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 006/129] net/ice/base: add missing include Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 007/129] net/ice/base: add ability to set markid via switch filter Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 008/129] net/ice/base: improve ice_debug_cq messages Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 009/129] net/ice/base: add mgmt netlist auth support command Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 010/129] net/ice/base: avoid undefined variables Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 011/129] net/ice/base: improve media type handling for phy caps Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 012/129] net/ice/base: update flow seg fields to declared bitmaps Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 013/129] net/ice/base: update interface in ice_parse_common_caps Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 014/129] net/ice/base: refactor (non) bitmap declarations Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 015/129] net/ice/base: remove unnecessary control queue cmd_buf arrays Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 016/129] net/ice/base: alloc port_info only once Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 017/129] net/ice/base: update code with flex array safe allocations Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 018/129] net/ice/base: support for OROM update in recovery mode Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 019/129] net/ice/base: improve find recipe routine Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 020/129] net/ice/base: fix memory leak when checking firmware version Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 021/129] net/ice/base: add LL Tx timestamp interrupt read Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 022/129] net/ice/base: use model-dependent number of PHY ports Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 023/129] net/ice/base: use ice_bitmap_t in promisc functions Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 024/129] net/ice/base: fix rx-only unicast promiscuous mode Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 025/129] net/ice/base: add support for E825-C TX clock changing Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 026/129] net/ice/base: fix for applying multiple cloud filters Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 027/129] net/ice/base: prevent potential integer overflow Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 028/129] net/ice/base: implement initial PTP support for E830 Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 029/129] net/ice/base: fix resource leak Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 030/129] net/ice/base: move lock outside of if-else Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 031/129] net/ice/base: refactor control queue send delay Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 032/129] net/ice/base: allow for dumping all clusters Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 033/129] net/ice/base: remove PTP aqc_driver_params Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 034/129] net/ice/base: change data buffer in i2c write to be const Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 035/129] net/ice/base: fix sign-extension Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 036/129] net/ice/base: add helper function for refsync Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 037/129] net/ice/base: added informational message for NAC topology Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 038/129] net/ice/base: add Cage Max Power override NVM module Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 039/129] net/ice/base: adapt No FEC in Auto support check to add E82X devices Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 040/129] net/ice/base: fix incorrect size when allocating children arrays Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 041/129] net/ice/base: fix GCS descriptor field offsets Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 042/129] net/ice/base: add VSI type for subfunctions Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 043/129] net/ice/base: correct the return type of ice_bitmap_hweight Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 044/129] net/ice/base: fix ice_ptp_one_port_cmd to avoid stale PHY commands Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 045/129] net/ice/base: remove dead code from ice_get_ddp_pkg_state Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 046/129] net/ice/base: use ICE_PTP_NOP to better indicate no action Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 047/129] net/ice/base: add fw log file Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 048/129] net/ice/base: use "err" instead of "status" in ice_ptp_hw.c Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 049/129] net/ice/base: re-number E810-T subdevice IDs to match upstream Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 050/129] net/ice/base: enable RDMA Act-Act unload paths Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 051/129] net/ice/base: parse 1PPS GPIO in 1588 function caps Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 052/129] net/ice/base: fix check for existing switch rule Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 053/129] net/ice/base: fall back to safe CGU params Anatoly Burakov
2024-06-25 11:12     ` [PATCH v3 054/129] net/ice/base: change tmr_idx to u32 Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 055/129] net/ice/base: be more verbose when preparing timer sync Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 056/129] net/ice/base: update strict status when assigning BW limits Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 057/129] net/ice/base: improve read retry value calculation Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 058/129] net/ice/base: check if recipe buffer was already allocated Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 059/129] net/ice/base: use correct type Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 060/129] net/ice/base: read OROM in a loop Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 061/129] net/ice/base: ignore snprintf return value Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 062/129] net/ice/base: check array bounds Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 063/129] net/ice/base: copy output IO params from command descriptor Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 064/129] net/ice/base: enable Next Cluster ID capability Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 065/129] net/ice/base: fix potential TLV length overflow Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 066/129] net/ice/base: add function to read SDP section from NVM Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 067/129] net/ice/base: add Floating VEB support Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 068/129] net/ice/base: add defines for loopback mode Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 069/129] net/ice/base: allow skipping PF clear Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 070/129] net/ice/base: fix in the definition of the Board Type Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 071/129] net/ice/base: make ice_clear_vsi_q_ctx() non-static Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 072/129] net/ice/base: fix package download algorithm Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 073/129] net/ice/base: allows packages with mixed signature presence Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 074/129] net/ice/base: fix ice_memcpy type specifiers Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 075/129] net/ice/base: allow different FW API versions based on MAC type Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 076/129] net/ice/base: add 32 GT bus speed enumerated value Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 077/129] net/ice/base: add E830 debug dump cluster ID values Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 078/129] net/ice/base: fix for preparing PHY for timesync command Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 079/129] net/ice/base: support for firmware sanitization Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 080/129] net/ice/base: add 200G speeds to PHY types decoding Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 081/129] net/ice/base: add PHY OFFSET_READY register clearing Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 082/129] net/ice/base: rename PHY model designator fields and functions Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 083/129] net/ice/base: enable SB access explicitly before 1st PHY access Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 084/129] net/ice/base: refactor ETH56G PHY initialization Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 085/129] net/ice/base: refactor ETH56G support for multiple PHYs per MAC Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 086/129] net/ice/base: implement interface to reset timestamp memory Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 087/129] net/ice/base: return high address for multi-read eth56g registers Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 088/129] net/ice/base: add function to read Tx timestamp status register Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 089/129] net/ice/base: implement upper-level PHY control functions Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 090/129] net/ice/base: squash multiple fixes for e56g device Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 091/129] net/ice/base: allow passing flags to sbq command Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 092/129] net/ice/base: move ice_ptp_init_phy_model to align with upstream Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 093/129] net/ice/base: add Get Link Status Data version 2 Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 094/129] net/ice/base: add port option commands Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 095/129] net/ice/base: merge unified E830 headers Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 096/129] net/ice/base: replace array initialization with macros Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 097/129] net/ice/base: switch speed conversions to static lookups Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 098/129] net/ice/base: support E830 in DDP pkg handling Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 099/129] net/ice/base: support E830 in Topology AQ command Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 100/129] net/ice/base: add E830 PTP init Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 101/129] net/ice/base: allow skipping main timer programming Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 102/129] net/ice/base: add missing files for shared code update Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 103/129] net/ice/base: rename netlist check functions to match upstream Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 104/129] net/ice/base: align code to base driver Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 105/129] net/ice/base: use const char* array for storing link modes Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 106/129] net/ice/base: fix compile issues on some targets Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 107/129] net/ice/base: move code to common headers Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 108/129] net/ice/base: make some switch-related functions static Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 109/129] net/ice/base: add L2TPv3 support for adv rules Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 110/129] net/ice/base: detect and store device sensor reading capability Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 111/129] net/ice/base: add missing defines and misc cleanup Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 112/129] net/ice/base: increase PF reset wait timeout to 500 milliseconds Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 113/129] net/ice/base: adjust memcpy type Anatoly Burakov
2024-06-25 11:13     ` [PATCH v3 114/129] net/ice/base: use a variable to store reset count Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 115/129] net/ice/base: fix ice_get_ctx() issue Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 116/129] net/ice/base: add AQ function to configure SyncE error reporting Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 117/129] net/ice/base: support DCF query port ETS adminq Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 118/129] net/ice/base: update boost struct for traffic types Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 119/129] net/ice/base: clean up ice_lan_tx_rx Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 120/129] net/ice/base: enable CGU error reporting Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 121/129] net/ice/base: cleanup timestamp registers correctly Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 122/129] net/ice/base: remove PHY port timer bypass mode Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 123/129] net/ice/base: implement TX interrupt enablement functions Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 124/129] net/ice/base: make Tx and Rx vernier offset calibration independent Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 125/129] net/ice/base: change a method to get pca9575 handle Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 126/129] net/ice/base: rename SMA register macros to match Linux upstream Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 127/129] net/ice/base: introduce new functions in ice_sched_node Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 128/129] net/ice/base: misc header file clean up Anatoly Burakov
2024-06-25 11:14     ` [PATCH v3 129/129] net/ice: add new device ids Anatoly Burakov
2024-06-25 17:20     ` [PATCH v3 000/129] Update net/ice base driver to latest upstream snapshot Bruce Richardson
2024-06-26 11:40     ` [PATCH v4 000/103] " Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 001/103] net/ice/base: add LL Tx timestamp interrupt read Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 002/103] net/ice/base: use model-dependent number of PHY ports Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 003/103] net/ice/base: use ice_bitmap_t in promisc functions Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 004/103] net/ice/base: fix rx-only unicast promiscuous mode Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 005/103] net/ice/base: add support for E825-C TX clock changing Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 006/103] net/ice/base: fix for applying multiple cloud filters Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 007/103] net/ice/base: prevent potential integer overflow Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 008/103] net/ice/base: implement initial PTP support for E830 Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 009/103] net/ice/base: fix resource leak Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 010/103] net/ice/base: move lock outside of if-else Anatoly Burakov
2024-06-26 11:40       ` [PATCH v4 011/103] net/ice/base: refactor control queue send delay Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 012/103] net/ice/base: allow for dumping all clusters Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 013/103] net/ice/base: remove PTP aqc_driver_params Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 014/103] net/ice/base: change data buffer in i2c write to be const Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 015/103] net/ice/base: fix sign-extension Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 016/103] net/ice/base: add helper function for refsync Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 017/103] net/ice/base: added informational message for NAC topology Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 018/103] net/ice/base: add Cage Max Power override NVM module Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 019/103] net/ice/base: adapt No FEC in Auto support check to add E82X devices Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 020/103] net/ice/base: fix incorrect size when allocating children arrays Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 021/103] net/ice/base: fix GCS descriptor field offsets Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 022/103] net/ice/base: add VSI type for subfunctions Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 023/103] net/ice/base: correct the return type of ice_bitmap_hweight Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 024/103] net/ice/base: add helper to get timer command reg values Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 025/103] net/ice/base: avoid stale PHY commands in ice_ptp_one_port_cmd Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 026/103] net/ice/base: remove dead code from ice_get_ddp_pkg_state Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 027/103] net/ice/base: use ICE_PTP_NOP to better indicate no action Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 028/103] net/ice/base: use "err" instead of "status" in ice_ptp_hw.c Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 029/103] net/ice/base: re-number E810-T subdevice IDs to match upstream Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 030/103] net/ice/base: enable RDMA Act-Act unload paths Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 031/103] net/ice/base: parse 1PPS GPIO in 1588 function caps Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 032/103] net/ice/base: fix check for existing switch rule Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 033/103] net/ice/base: fall back to safe CGU params Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 034/103] net/ice/base: change tmr_idx to u32 Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 035/103] net/ice/base: be more verbose when preparing timer sync Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 036/103] net/ice/base: update strict status when assigning BW limits Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 037/103] net/ice/base: improve read retry value calculation Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 038/103] net/ice/base: check if recipe buffer was already allocated Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 039/103] net/ice/base: use correct type Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 040/103] net/ice/base: read OROM in a loop Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 041/103] net/ice/base: ignore snprintf return value Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 042/103] net/ice/base: check array bounds Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 043/103] net/ice/base: copy output IO params from command descriptor Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 044/103] net/ice/base: enable Next Cluster ID capability Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 045/103] net/ice/base: fix potential TLV length overflow Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 046/103] net/ice/base: add function to read SDP section from NVM Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 047/103] net/ice/base: add Floating VEB support Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 048/103] net/ice/base: add defines for loopback mode Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 049/103] net/ice/base: allow skipping PF clear Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 050/103] net/ice/base: fix wrong definition of board type Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 051/103] net/ice/base: make ice_clear_vsi_q_ctx() non-static Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 052/103] net/ice/base: fix package download algorithm Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 053/103] net/ice/base: allows packages with mixed signature presence Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 054/103] net/ice/base: adjust ice_memcpy type specifiers Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 055/103] net/ice/base: allow different FW API versions based on MAC type Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 056/103] net/ice/base: add 32 GT bus speed enumerated value Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 057/103] net/ice/base: add E830 debug dump cluster ID values Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 058/103] net/ice/base: fix for preparing PHY for timesync command Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 059/103] net/ice/base: support for firmware sanitization Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 060/103] net/ice/base: add 200G speeds to PHY types decoding Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 061/103] net/ice/base: add PHY OFFSET_READY register clearing Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 062/103] net/ice/base: rename PHY model designator fields and functions Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 063/103] net/ice/base: enable SB access explicitly before 1st PHY access Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 064/103] net/ice/base: refactor ETH56G PHY initialization Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 065/103] net/ice/base: refactor ETH56G support for multiple PHYs per MAC Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 066/103] net/ice/base: implement interface to reset timestamp memory Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 067/103] net/ice/base: return high address for multi-read eth56g registers Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 068/103] net/ice/base: add function to read Tx timestamp status register Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 069/103] net/ice/base: implement upper-level PHY control functions Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 070/103] net/ice/base: remove switch-related code Anatoly Burakov
2024-06-26 11:41       ` [PATCH v4 071/103] net/ice/base: allow passing flags to sbq command Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 072/103] net/ice/base: add Get Link Status Data version 2 Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 073/103] net/ice/base: add port option commands Anatoly Burakov
2024-06-26 12:13         ` Burakov, Anatoly
2024-06-26 11:42       ` [PATCH v4 074/103] net/ice/base: replace array initialization with macros Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 075/103] net/ice/base: switch speed conversions to static lookups Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 076/103] net/ice/base: merge unified E830 headers Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 077/103] net/ice/base: support E830 in DDP pkg handling Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 078/103] net/ice/base: support E830 in Topology AQ command Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 079/103] net/ice/base: add E830 PTP init Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 080/103] net/ice/base: allow skipping main timer programming Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 081/103] net/ice/base: fix compile issues on some targets Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 082/103] net/ice/base: add L2TPv3 support for adv rules Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 083/103] net/ice/base: detect and store device sensor reading capability Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 084/103] net/ice/base: increase PF reset wait timeout to 500 milliseconds Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 085/103] net/ice/base: use a variable to store reset count Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 086/103] net/ice/base: fix masking in ice_get_ctx() Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 087/103] net/ice/base: add AQ function to configure SyncE error reporting Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 088/103] net/ice/base: update boost struct for traffic types Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 089/103] net/ice/base: enable CGU error reporting Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 090/103] net/ice/base: cleanup timestamp registers correctly Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 091/103] net/ice/base: remove PHY port timer bypass mode Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 092/103] net/ice/base: implement TX interrupt enablement functions Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 093/103] net/ice/base: make Tx and Rx vernier offset calibration independent Anatoly Burakov
2024-06-26 12:11         ` Burakov, Anatoly
2024-06-26 12:13           ` Bruce Richardson
2024-06-26 11:42       ` [PATCH v4 094/103] net/ice/base: change a method to get pca9575 handle Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 095/103] net/ice/base: rename SMA register macros Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 096/103] net/ice/base: make is_gps_present more generic Anatoly Burakov
2024-06-26 12:08         ` Burakov, Anatoly
2024-06-26 11:42       ` [PATCH v4 097/103] net/ice/base: add missing defines and misc cleanup Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 098/103] net/ice/base: align code to base driver Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 099/103] net/ice/base: make some functions non-static Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 100/103] net/ice/base: make some functions static Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 101/103] net/ice/base: introduce new functions in ice_sched_node Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 102/103] net/ice/base: add missing files for shared code update Anatoly Burakov
2024-06-26 11:42       ` [PATCH v4 103/103] net/ice: add new device ids Anatoly Burakov
2024-06-26 17:33       ` [PATCH v4 000/103] Update net/ice base driver to latest upstream snapshot Bruce Richardson
2024-06-27 17:43         ` Bruce Richardson
2024-06-28 11:23         ` Bruce Richardson

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=08e8e5c5f297080cd4c94e6dbf4dc9eaae0644cf.1718204528.git.anatoly.burakov@intel.com \
    --to=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ian.stokes@intel.com \
    --cc=jesse.brandeburg@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).