From: Anatoly Burakov <anatoly.burakov@intel.com>
To: dev@dpdk.org
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>,
bruce.richardson@intel.com, ian.stokes@intel.com
Subject: [PATCH v3 017/129] net/ice/base: update code with flex array safe allocations
Date: Tue, 25 Jun 2024 12:12:22 +0100 [thread overview]
Message-ID: <2f3e2afaa156f3c5840b4cdcbc8c949d63afebd2.1719313663.git.anatoly.burakov@intel.com> (raw)
In-Reply-To: <cover.1719313663.git.anatoly.burakov@intel.com>
From: Jesse Brandeburg <jesse.brandeburg@intel.com>
The Linux Kernel is now requiring flex array safe allocations from drivers,
so the code is being updated to reflect the changes required to match Linux
upstream code.
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 3decaee546..09bc853749 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;
@@ -2808,7 +2809,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 a6b91689f0..7f4a7f68de 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
next prev parent reply other threads:[~2024-06-25 11:17 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 ` [PATCH v2 018/148] net/ice/base: update code with flex array safe allocations Anatoly Burakov
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 ` Anatoly Burakov [this message]
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=2f3e2afaa156f3c5840b4cdcbc8c949d63afebd2.1719313663.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).