DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH v2 00/10] Update ice base code
@ 2025-05-26 18:02 Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 01/10] net/ice/base: type conversion fix Dhanya Pillai
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  Cc: dev, Dhanya Pillai

ice base code is updated to latest snapshot.

Dhanya Pillai (1):
  net/ice/base: update version info

Filar, Mikolaj (2):
  net/ice/base: support for MAC rule with own filter flags
  net/ice/base: configure PHY FEC error in logs for GNRD

Janardhanan Arumugam (1):
  net/ice/base: increase reset timeout to 20 seconds

Lukasz Krakowiak (3):
  net/ice/base: integer overflow issue fix
  net/ice/base: set speculative execution barrier
  net/ice/base: typo fix in desc for dev ID 579F

Oleg Akhrem (1):
  net/ice/base: ptp minimal refactoring

Paul Greenwalt (1):
  net/ice/base: typo fix in media type check

Waldemar Dworakowski (1):
  net/ice/base: type conversion fix

 drivers/net/intel/ice/base/README          |  2 +-
 drivers/net/intel/ice/base/ice_common.c    |  6 ++-
 drivers/net/intel/ice/base/ice_devids.h    |  2 +-
 drivers/net/intel/ice/base/ice_flex_pipe.c |  2 +
 drivers/net/intel/ice/base/ice_osdep.h     |  6 +++
 drivers/net/intel/ice/base/ice_ptp_hw.c    |  9 ++---
 drivers/net/intel/ice/base/ice_sched.c     | 10 +++--
 drivers/net/intel/ice/base/ice_switch.c    | 46 ++++++++++++++++++++--
 drivers/net/intel/ice/base/ice_switch.h    |  1 +
 drivers/net/intel/ice/base/ice_type.h      |  2 +-
 10 files changed, 68 insertions(+), 18 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 01/10] net/ice/base: type conversion fix
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 02/10] net/ice/base: typo fix in media type check Dhanya Pillai
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov
  Cc: dev, Dworakowski, Waldemar, Dhanya Pillai

From: "Dworakowski, Waldemar" <waldemar.dworakowski@intel.com>

In ice_sched_move_vsi_to_agg() int16 is used to pass 8 bit value
what causes compiler warning:
warning C4244: 'function' : conversion from 'UINT16' to 'UINT8',
possible loss of data
Changed variable type to avoid conversion

Signed-off-by: Waldemar Dworakowski <waldemar.dworakowski@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_sched.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/intel/ice/base/ice_sched.c b/drivers/net/intel/ice/base/ice_sched.c
index 1f520bb7c0..a8a149f541 100644
--- a/drivers/net/intel/ice/base/ice_sched.c
+++ b/drivers/net/intel/ice/base/ice_sched.c
@@ -2383,7 +2383,8 @@ ice_sched_move_vsi_to_agg(struct ice_port_info *pi, u16 vsi_handle, u32 agg_id,
 	u16 num_nodes_added;
 	u8 aggl, vsil;
 	int status;
-	u16 i;
+	u16 j;
+	u8 i;
 
 	tc_node = ice_sched_get_tc_node(pi, tc);
 	if (!tc_node)
@@ -2409,9 +2410,9 @@ ice_sched_move_vsi_to_agg(struct ice_port_info *pi, u16 vsi_handle, u32 agg_id,
 		num_nodes[i] = 1;
 
 	/* Check if the aggregator subtree has any free node to add the VSI */
-	for (i = 0; i < agg_node->num_children; i++) {
+	for (j = 0; j < agg_node->num_children; j++) {
 		parent = ice_sched_get_free_vsi_parent(pi->hw,
-						       agg_node->children[i],
+						       agg_node->children[j],
 						       num_nodes);
 		if (parent)
 			goto move_nodes;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 02/10] net/ice/base: typo fix in media type check
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 01/10] net/ice/base: type conversion fix Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 03/10] net/ice/base: integer overflow issue fix Dhanya Pillai
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Paul Greenwalt, Dhanya Pillai

From: Paul Greenwalt <paul.greenwalt@intel.com>

Found a typo in original implementation of ice_set_media_type,
where one of the checks for FIBER checks for C2C media type
instead of C2M. This results in failure of this check for some
AOC devices, consequently setting  the media type as AUI.
Bug was found in ethtool.

Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/intel/ice/base/ice_common.c b/drivers/net/intel/ice/base/ice_common.c
index fce9b070cf..69070b740e 100644
--- a/drivers/net/intel/ice/base/ice_common.c
+++ b/drivers/net/intel/ice/base/ice_common.c
@@ -452,7 +452,7 @@ static void ice_set_media_type(struct ice_port_info *pi)
 		 ((phy_type_low & ICE_MEDIA_OPT_PHY_TYPE_LOW_M ||
 		   phy_type_high & ICE_MEDIA_OPT_PHY_TYPE_HIGH_M) &&
 		  (phy_type_low & ICE_MEDIA_C2M_PHY_TYPE_LOW_M ||
-		   phy_type_high & ICE_MEDIA_C2C_PHY_TYPE_HIGH_M)))
+		   phy_type_high & ICE_MEDIA_C2M_PHY_TYPE_HIGH_M)))
 		*media_type = ICE_MEDIA_FIBER;
 	/* else if PHY types are only DA, or DA and C2C, then media type DA */
 	else if (ice_phy_maps_to_media(phy_type_low, phy_type_high,
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 03/10] net/ice/base: integer overflow issue fix
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 01/10] net/ice/base: type conversion fix Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 02/10] net/ice/base: typo fix in media type check Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 04/10] net/ice/base: set speculative execution barrier Dhanya Pillai
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Lukasz Krakowiak, Dhanya Pillai

From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>

Fix Coverity issue related to INTEGER_OVERFLOW.

Coverity issue: 1207097
Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_type.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/intel/ice/base/ice_type.h b/drivers/net/intel/ice/base/ice_type.h
index 297a5ea890..757b1d7658 100644
--- a/drivers/net/intel/ice/base/ice_type.h
+++ b/drivers/net/intel/ice/base/ice_type.h
@@ -25,7 +25,7 @@
  */
 static inline bool ice_is_pow2(u64 val)
 {
-	return (val && !(val & (val - 1)));
+	return val != 0 && (val & (val -1)) == 0;
 }
 
 /**
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 04/10] net/ice/base: set speculative execution barrier
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
                   ` (2 preceding siblings ...)
  2025-05-26 18:02 ` [PATCH v2 03/10] net/ice/base: integer overflow issue fix Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 05/10] net/ice/base: typo fix in desc for dev ID 579F Dhanya Pillai
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Lukasz Krakowiak, Dhanya Pillai

From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>

Fix Coverity issues related to SPECULATIVE_EXECUTION_DATA_LEAK.
This changes set speculative execution barrier to functions:

* ice_sched_add_vsi_child_nodes,
* ice_sched_add_vsi_support_nodes,
* ice_sched_move_vsi_to_agg,
* ice_prof_has_mask_idx,
* ice_alloc_prof_mask.

Also, Added memfence definations.

Coverity issue: 1207094, 1207095, 1207096, 1207099, 1207104
Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_flex_pipe.c | 2 ++
 drivers/net/intel/ice/base/ice_osdep.h     | 6 ++++++
 drivers/net/intel/ice/base/ice_sched.c     | 3 +++
 3 files changed, 11 insertions(+)

diff --git a/drivers/net/intel/ice/base/ice_flex_pipe.c b/drivers/net/intel/ice/base/ice_flex_pipe.c
index 6dd5588f85..dc8c92e203 100644
--- a/drivers/net/intel/ice/base/ice_flex_pipe.c
+++ b/drivers/net/intel/ice/base/ice_flex_pipe.c
@@ -1280,6 +1280,7 @@ ice_prof_has_mask_idx(struct ice_hw *hw, enum ice_block blk, u8 prof, u16 idx,
 			if (hw->blk[blk].masks.masks[i].in_use &&
 			    hw->blk[blk].masks.masks[i].idx == idx) {
 				found = true;
+				ice_memfence_read();
 				if (hw->blk[blk].masks.masks[i].mask == mask)
 					match = true;
 				break;
@@ -1648,6 +1649,7 @@ ice_alloc_prof_mask(struct ice_hw *hw, enum ice_block blk, u16 idx, u16 mask,
 			/* if mask is in use and it exactly duplicates the
 			 * desired mask and index, then in can be reused
 			 */
+			ice_memfence_read();
 			if (hw->blk[blk].masks.masks[i].mask == mask &&
 			    hw->blk[blk].masks.masks[i].idx == idx) {
 				found_copy = true;
diff --git a/drivers/net/intel/ice/base/ice_osdep.h b/drivers/net/intel/ice/base/ice_osdep.h
index ad6cde9896..7588ad3dbc 100644
--- a/drivers/net/intel/ice/base/ice_osdep.h
+++ b/drivers/net/intel/ice/base/ice_osdep.h
@@ -203,6 +203,12 @@ struct __rte_packed_begin ice_virt_mem {
 #define ice_memset(a, b, c, d) memset((a), (b), (c))
 #define ice_memcpy(a, b, c, d) rte_memcpy((a), (b), (c))
 
+/* Memory fence barrier */
+#define ice_memfence_read()
+#define ice_memfence_read_write()
+#define ice_memfence_write()
+
+
 /* SW spinlock */
 struct ice_lock {
 	rte_spinlock_t spinlock;
diff --git a/drivers/net/intel/ice/base/ice_sched.c b/drivers/net/intel/ice/base/ice_sched.c
index a8a149f541..be9393a7d6 100644
--- a/drivers/net/intel/ice/base/ice_sched.c
+++ b/drivers/net/intel/ice/base/ice_sched.c
@@ -1748,6 +1748,7 @@ ice_sched_add_vsi_child_nodes(struct ice_port_info *pi, u16 vsi_handle,
 				node = node->sibling;
 			}
 		} else {
+			ice_memfence_read();
 			parent = parent->children[0];
 		}
 	}
@@ -1840,6 +1841,7 @@ ice_sched_add_vsi_support_nodes(struct ice_port_info *pi, u16 vsi_handle,
 		/* The newly added node can be a new parent for the next
 		 * layer nodes
 		 */
+		ice_memfence_read();
 		if (num_added)
 			parent = ice_sched_find_node_by_teid(tc_node,
 							     first_node_teid);
@@ -2431,6 +2433,7 @@ ice_sched_move_vsi_to_agg(struct ice_port_info *pi, u16 vsi_handle, u32 agg_id,
 		/* The newly added node can be a new parent for the next
 		 * layer nodes
 		 */
+		ice_memfence_read();
 		if (num_nodes_added)
 			parent = ice_sched_find_node_by_teid(tc_node,
 							     first_node_teid);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 05/10] net/ice/base: typo fix in desc for dev ID 579F
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
                   ` (3 preceding siblings ...)
  2025-05-26 18:02 ` [PATCH v2 04/10] net/ice/base: set speculative execution barrier Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 06/10] net/ice/base: ptp minimal refactoring Dhanya Pillai
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Lukasz Krakowiak, Dhanya Pillai

From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>

Fix typo in desc for dev ID 579F.

Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_devids.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/intel/ice/base/ice_devids.h b/drivers/net/intel/ice/base/ice_devids.h
index 807b5d0c29..20c6dbd4a5 100644
--- a/drivers/net/intel/ice/base/ice_devids.h
+++ b/drivers/net/intel/ice/base/ice_devids.h
@@ -90,7 +90,7 @@
 #define ICE_DEV_ID_E825C_QSFP		0x579D
 /* Intel(R) Ethernet Connection E825-C for SFP */
 #define ICE_DEV_ID_E825C_SFP		0x579E
-/* Intel(R) Ethernet Connection E825-C 1GbE */
+/* Intel(R) Ethernet Connection E825-C 10GbE */
 #define ICE_DEV_ID_E825C_SGMII		0x579F
 #define ICE_DEV_ID_C825X		0x0DCD
 #endif /* _ICE_DEVIDS_H_ */
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 06/10] net/ice/base: ptp minimal refactoring
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
                   ` (4 preceding siblings ...)
  2025-05-26 18:02 ` [PATCH v2 05/10] net/ice/base: typo fix in desc for dev ID 579F Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 07/10] net/ice/base: support for MAC rule with own filter flags Dhanya Pillai
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Oleg Akhrem, Dhanya Pillai

From: Oleg Akhrem <oleg.akhrem@intel.com>

Removed redundant code. The *clk_freq and *clk_src are not modified.

Signed-off-by: Oleg Akhrem <oleg.akhrem@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_ptp_hw.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/net/intel/ice/base/ice_ptp_hw.c b/drivers/net/intel/ice/base/ice_ptp_hw.c
index 1e92e5ff21..7d16965674 100644
--- a/drivers/net/intel/ice/base/ice_ptp_hw.c
+++ b/drivers/net/intel/ice/base/ice_ptp_hw.c
@@ -520,9 +520,6 @@ ice_cfg_cgu_pll_e825c(struct ice_hw *hw, enum ice_time_ref_freq *clk_freq,
 		  ice_clk_src_str(dw23.field.time_ref_sel),
 		  ice_clk_freq_str(dw9.field.time_ref_freq_sel));
 
-	*clk_freq = (enum ice_time_ref_freq)dw9.field.time_ref_freq_sel;
-	*clk_src = (enum ice_clk_src)dw23.field.time_ref_sel;
-
 	return 0;
 }
 
@@ -798,11 +795,11 @@ static int ice_init_cgu_e82x(struct ice_hw *hw)
 		ice_warn(hw, "Failed to lock TS PLL to predefined frequency. Retrying with fallback frequency.\n");
 
 		/* Try to lock to internal 25 MHz TCXO as a fallback */
+		time_ref_freq = ICE_TIME_REF_FREQ_25_000;
+		clk_src = ICE_CLK_SRC_TCX0;
 		if (hw->phy_model == ICE_PHY_ETH56G)
 			time_ref_freq = ICE_TIME_REF_FREQ_156_250;
-		else
-			time_ref_freq = ICE_TIME_REF_FREQ_25_000;
-		clk_src = ICE_CLK_SRC_TCX0;
+
 		if (ice_is_e825c(hw))
 			err = ice_cfg_cgu_pll_e825c(hw, &time_ref_freq,
 						    &clk_src);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 07/10] net/ice/base: support for MAC rule with own filter flags
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
                   ` (5 preceding siblings ...)
  2025-05-26 18:02 ` [PATCH v2 06/10] net/ice/base: ptp minimal refactoring Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 08/10] net/ice/base: configure PHY FEC error in logs for GNRD Dhanya Pillai
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Filar, Mikolaj, Dhanya Pillai

From: "Filar, Mikolaj" <mikolajx.filar@intel.com>

Current implementation of ice_add_mac_rule overwrites flags passed in
fltr_info member of the m_list with ICE_FLTR_TX. This implementation
allows to use own flags with a new ice_add_mac_with_fltr_flag function.
No functional change in MAC filters.

Signed-off-by: Mikolaj Filar <mikolajx.filar@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_switch.c | 46 ++++++++++++++++++++++---
 drivers/net/intel/ice/base/ice_switch.h |  1 +
 2 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/drivers/net/intel/ice/base/ice_switch.c b/drivers/net/intel/ice/base/ice_switch.c
index 468a9f055d..777fc88d01 100644
--- a/drivers/net/intel/ice/base/ice_switch.c
+++ b/drivers/net/intel/ice/base/ice_switch.c
@@ -5112,11 +5112,12 @@ ice_aq_get_res_descs(struct ice_hw *hw, u16 num_entries,
 }
 
 /**
- * ice_add_mac_rule - Add a MAC address based filter rule
+ * ice_add_mac_rule_with_fltr_flag - Add a MAC address based filter rule
  * @hw: pointer to the hardware structure
  * @m_list: list of MAC addresses and forwarding information
  * @sw: pointer to switch info struct for which function add rule
  * @lport: logic port number on which function add rule
+ * @flag: filter flag
  *
  * IMPORTANT: When the umac_shared flag is set to false and m_list has
  * multiple unicast addresses, the function assumes that all the
@@ -5125,8 +5126,8 @@ ice_aq_get_res_descs(struct ice_hw *hw, u16 num_entries,
  * list should be taken care of in the caller of this function.
  */
 static int
-ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
-		 struct ice_switch_info *sw, u8 lport)
+ice_add_mac_rule_with_fltr_flag(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
+			struct ice_switch_info *sw, u8 lport, u16 flag)
 {
 	struct ice_sw_recipe *recp_list = &sw->recp_list[ICE_SW_LKUP_MAC];
 	struct ice_sw_rule_lkup_rx_tx *s_rule, *r_iter;
@@ -5148,7 +5149,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 		u16 vsi_handle;
 		u16 hw_vsi_id;
 
-		m_list_itr->fltr_info.flag = ICE_FLTR_TX;
+		m_list_itr->fltr_info.flag = flag;
 		vsi_handle = m_list_itr->fltr_info.vsi_handle;
 		if (!ice_is_vsi_valid(hw, vsi_handle))
 			return ICE_ERR_PARAM;
@@ -5268,6 +5269,26 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
 	return status;
 }
 
+/**
+ * ice_add_mac_rule - Add a MAC address based filter rule
+ * @hw: pointer to the hardware structure
+ * @m_list: list of MAC addresses and forwarding information
+ * @sw: pointer to switch info struct for which function add rule
+ * @lport: logic port number on which function add rule
+ *
+ * IMPORTANT: When the umac_shared flag is set to false and m_list has
+ * multiple unicast addresses, the function assumes that all the
+ * addresses are unique in a given add_mac call. It doesn't
+ * check for duplicates in this case, removing duplicates from a given
+ * list should be taken care of in the caller of this function.
+ */
+static int
+ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
+		 struct ice_switch_info *sw, u8 lport)
+{
+	return ice_add_mac_rule_with_fltr_flag(hw, m_list, sw, lport, ICE_FLTR_TX);
+}
+
 /**
  * ice_add_mac - Add a MAC address based filter rule
  * @hw: pointer to the hardware structure
@@ -5284,6 +5305,23 @@ int ice_add_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list)
 				hw->port_info->lport);
 }
 
+/**
+ * ice_add_mac_with_fltr_flag - Add a MAC address based filter rule
+ * @hw: pointer to the hardware structure
+ * @m_list: list of MAC addresses and forwarding information
+ * @flag: filter flag
+ *
+ * Function add MAC rule for logical port from HW struct
+ */
+int ice_add_mac_with_fltr_flag(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list, u16 flag)
+{
+	if (!m_list || !hw)
+		return ICE_ERR_PARAM;
+
+	return ice_add_mac_rule_with_fltr_flag(hw, m_list, hw->switch_info,
+				hw->port_info->lport, flag);
+}
+
 /**
  * ice_add_vlan_internal - Add one VLAN based filter rule
  * @hw: pointer to the hardware structure
diff --git a/drivers/net/intel/ice/base/ice_switch.h b/drivers/net/intel/ice/base/ice_switch.h
index 00bffe4e4e..8eac7739fb 100644
--- a/drivers/net/intel/ice/base/ice_switch.h
+++ b/drivers/net/intel/ice/base/ice_switch.h
@@ -548,6 +548,7 @@ ice_add_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list);
 int ice_remove_vlan(struct ice_hw *hw, struct LIST_HEAD_TYPE *v_list);
 void ice_rem_all_sw_rules_info(struct ice_hw *hw);
 int ice_add_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_lst);
+int ice_add_mac_with_fltr_flag(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list, u16 flag);
 int ice_remove_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_lst);
 int
 ice_add_eth_mac(struct ice_hw *hw, struct LIST_HEAD_TYPE *em_list);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 08/10] net/ice/base: configure PHY FEC error in logs for GNRD
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
                   ` (6 preceding siblings ...)
  2025-05-26 18:02 ` [PATCH v2 07/10] net/ice/base: support for MAC rule with own filter flags Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 09/10] net/ice/base: increase reset timeout to 20 seconds Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 10/10] net/ice/base: update version info Dhanya Pillai
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Filar, Mikolaj, Dhanya Pillai

From: "Filar, Mikolaj" <mikolajx.filar@intel.com>

Configure PHY FEC error in logs for GNRD

Signed-off-by: Mikolaj Filar <mikolajx.filar@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_common.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/intel/ice/base/ice_common.c b/drivers/net/intel/ice/base/ice_common.c
index 69070b740e..9ba656d8ec 100644
--- a/drivers/net/intel/ice/base/ice_common.c
+++ b/drivers/net/intel/ice/base/ice_common.c
@@ -6554,6 +6554,8 @@ bool ice_fw_supports_fec_dis_auto(struct ice_hw *hw)
 {
 	if (ice_is_e830(hw))
 		return true;
+	if (ice_is_e825c(hw))
+		return true;
 	return ice_is_fw_min_ver(hw, ICE_FW_VER_BRANCH_E810,
 				 ICE_FW_FEC_DIS_AUTO_MAJ,
 				 ICE_FW_FEC_DIS_AUTO_MIN,
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 09/10] net/ice/base: increase reset timeout to 20 seconds
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
                   ` (7 preceding siblings ...)
  2025-05-26 18:02 ` [PATCH v2 08/10] net/ice/base: configure PHY FEC error in logs for GNRD Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  2025-05-26 18:02 ` [PATCH v2 10/10] net/ice/base: update version info Dhanya Pillai
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov
  Cc: dev, Janardhanan Arumugam, Dhanya Pillai

From: Janardhanan Arumugam <janardhanan.arumugam@intel.com>

Resets on E830 hardware can take longer than 5 seconds to complete due
to E830 security keys functionality. The current timeout may be too
short, leading to reset failures.

Increase the reset timeout by updating ICE_PF_RESET_WAIT_COUNT, changing
the maximum wait time from 5 seconds to 20 seconds.

This change applies to all hardware, but since the driver polls the
reset done bits every 10 milliseconds this does not affect reset time on
non-E830 devices where the reset completes quicker.

Signed-off-by: Janardhanan Arumugam <janardhanan.arumugam@intel.com>
Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/ice_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/intel/ice/base/ice_common.c b/drivers/net/intel/ice/base/ice_common.c
index 9ba656d8ec..4de9f37989 100644
--- a/drivers/net/intel/ice/base/ice_common.c
+++ b/drivers/net/intel/ice/base/ice_common.c
@@ -9,7 +9,7 @@
 #include "ice_ptp_hw.h"
 #include "ice_switch.h"
 
-#define ICE_PF_RESET_WAIT_COUNT	500
+#define ICE_PF_RESET_WAIT_COUNT	2000
 
 static const char * const ice_link_mode_str_low[] = {
 	ice_arr_elem_idx(0, "100BASE_TX"),
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 10/10] net/ice/base: update version info
  2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
                   ` (8 preceding siblings ...)
  2025-05-26 18:02 ` [PATCH v2 09/10] net/ice/base: increase reset timeout to 20 seconds Dhanya Pillai
@ 2025-05-26 18:02 ` Dhanya Pillai
  9 siblings, 0 replies; 11+ messages in thread
From: Dhanya Pillai @ 2025-05-26 18:02 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Dhanya Pillai

Update the README file with the date of that latest base code snapshot.

Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
---
 drivers/net/intel/ice/base/README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/intel/ice/base/README b/drivers/net/intel/ice/base/README
index c32e530789..86f69d1d04 100644
--- a/drivers/net/intel/ice/base/README
+++ b/drivers/net/intel/ice/base/README
@@ -6,7 +6,7 @@ Intel® ICE driver
 ==================
 
 This directory contains source code of ice base driver generated on
-2024-10-11 released by the team which develops
+2025-05-23 released by the team which develops
 basic drivers for any ice NIC. The directory of base/ contains the
 original source package.
 This driver is valid for the product(s) listed below
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-05-26 18:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-26 18:02 [PATCH v2 00/10] Update ice base code Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 01/10] net/ice/base: type conversion fix Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 02/10] net/ice/base: typo fix in media type check Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 03/10] net/ice/base: integer overflow issue fix Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 04/10] net/ice/base: set speculative execution barrier Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 05/10] net/ice/base: typo fix in desc for dev ID 579F Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 06/10] net/ice/base: ptp minimal refactoring Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 07/10] net/ice/base: support for MAC rule with own filter flags Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 08/10] net/ice/base: configure PHY FEC error in logs for GNRD Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 09/10] net/ice/base: increase reset timeout to 20 seconds Dhanya Pillai
2025-05-26 18:02 ` [PATCH v2 10/10] net/ice/base: update version info Dhanya Pillai

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).