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

ice base code is updated to latest snapshot.

v3:
- Fixed check patch failure in DPDK CI.
- Added Fixes tag to bug fixes.
- Corrected author name for couple of patches.

v2:
- Added Author Signoff.

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

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

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

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

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

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

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

 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] 17+ messages in thread

* [PATCH v3 01/10] net/ice/base: fix type conversion
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-27 16:54   ` Bruce Richardson
  2025-05-27 13:17 ` [PATCH v3 02/10] net/ice/base: fix typo in media type check Dhanya Pillai
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov, Qiming Yang, Qi Zhang,
	Paul M Stillwell Jr, Wenzhuo Lu
  Cc: dev, Waldemar Dworakowski, stable, Dhanya Pillai

From: Waldemar Dworakowski <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

Fixes: 29a0c11489ef ("net/ice/base: clean code")
Cc: stable@dpdk.org
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] 17+ messages in thread

* [PATCH v3 02/10] net/ice/base: fix typo in media type check
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
  2025-05-27 13:17 ` [PATCH v3 01/10] net/ice/base: fix type conversion Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-27 13:17 ` [PATCH v3 03/10] net/ice/base: fix integer overflow issue Dhanya Pillai
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov, Ian Stokes, Paul Greenwalt,
	Alice Michael
  Cc: dev, stable, 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.

Fixes: e7bd7d54a26b ("net/ice/base: improve PHY media capabilities handling")
Cc: stable@dpdk.org
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] 17+ messages in thread

* [PATCH v3 03/10] net/ice/base: fix integer overflow issue
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
  2025-05-27 13:17 ` [PATCH v3 01/10] net/ice/base: fix type conversion Dhanya Pillai
  2025-05-27 13:17 ` [PATCH v3 02/10] net/ice/base: fix typo in media type check Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-27 17:06   ` Bruce Richardson
  2025-05-27 13:17 ` [PATCH v3 04/10] net/ice/base: set speculative execution barrier Dhanya Pillai
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov, Paul M Stillwell Jr,
	Bruce Allan, Qi Zhang, Xiaolong Ye
  Cc: dev, Lukasz Krakowiak, stable, Dhanya Pillai

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

Fix issue related to INTEGER_OVERFLOW.

Fixes: f636f2888cec ("net/ice/base: move and add some help function and macros")
Cc: stable@dpdk.org
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..ae3b944d6e 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] 17+ messages in thread

* [PATCH v3 04/10] net/ice/base: set speculative execution barrier
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
                   ` (2 preceding siblings ...)
  2025-05-27 13:17 ` [PATCH v3 03/10] net/ice/base: fix integer overflow issue Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-28 13:07   ` Bruce Richardson
  2025-05-27 13:17 ` [PATCH v3 05/10] net/ice/base: fix typo in desc for dev ID 579F Dhanya Pillai
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov; +Cc: dev, Lukasz Krakowiak, Dhanya Pillai

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

Fix 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 definitions.

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] 17+ messages in thread

* [PATCH v3 05/10] net/ice/base: fix typo in desc for dev ID 579F
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
                   ` (3 preceding siblings ...)
  2025-05-27 13:17 ` [PATCH v3 04/10] net/ice/base: set speculative execution barrier Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-27 13:17 ` [PATCH v3 06/10] net/ice/base: ptp minimal refactoring Dhanya Pillai
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 UTC (permalink / raw)
  To: Bruce Richardson, Anatoly Burakov, Robin Zhang, Ferruh Yigit
  Cc: dev, Lukasz Krakowiak, stable, Dhanya Pillai

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

Fix typo in desc for dev ID 579F.

Fixes: 6fd3889c1779 ("net/ice/base: support E824S and E825 devices")
Cc: stable@dpdk.org
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] 17+ messages in thread

* [PATCH v3 06/10] net/ice/base: ptp minimal refactoring
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
                   ` (4 preceding siblings ...)
  2025-05-27 13:17 ` [PATCH v3 05/10] net/ice/base: fix typo in desc for dev ID 579F Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-27 13:17 ` [PATCH v3 07/10] net/ice/base: support for MAC rule with own filter flags Dhanya Pillai
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 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] 17+ messages in thread

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

From: Mikolaj Filar <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] 17+ messages in thread

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

From: Mikolaj Filar <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] 17+ messages in thread

* [PATCH v3 09/10] net/ice/base: increase reset timeout to 20 seconds
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
                   ` (7 preceding siblings ...)
  2025-05-27 13:17 ` [PATCH v3 08/10] net/ice/base: configure PHY FEC error in logs for GNRD Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-27 13:17 ` [PATCH v3 10/10] net/ice/base: update version info Dhanya Pillai
  2025-05-29  8:29 ` [PATCH v3 00/10] Update ice base code Bruce Richardson
  10 siblings, 0 replies; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 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] 17+ messages in thread

* [PATCH v3 10/10] net/ice/base: update version info
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
                   ` (8 preceding siblings ...)
  2025-05-27 13:17 ` [PATCH v3 09/10] net/ice/base: increase reset timeout to 20 seconds Dhanya Pillai
@ 2025-05-27 13:17 ` Dhanya Pillai
  2025-05-29  8:29 ` [PATCH v3 00/10] Update ice base code Bruce Richardson
  10 siblings, 0 replies; 17+ messages in thread
From: Dhanya Pillai @ 2025-05-27 13:17 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] 17+ messages in thread

* Re: [PATCH v3 01/10] net/ice/base: fix type conversion
  2025-05-27 13:17 ` [PATCH v3 01/10] net/ice/base: fix type conversion Dhanya Pillai
@ 2025-05-27 16:54   ` Bruce Richardson
  0 siblings, 0 replies; 17+ messages in thread
From: Bruce Richardson @ 2025-05-27 16:54 UTC (permalink / raw)
  To: Dhanya Pillai; +Cc: dev

On Tue, May 27, 2025 at 01:17:20PM +0000, Dhanya Pillai wrote:
> From: Waldemar Dworakowski <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
> 
> Fixes: 29a0c11489ef ("net/ice/base: clean code")

Actually, I think one of my changes broke it, since that was when the 'u8 i' was
changed to a u16.

Fixes: aff06930682c ("net/ice/base: remove 255 limit on sched child nodes")

> Cc: stable@dpdk.org
> Signed-off-by: Waldemar Dworakowski <waldemar.dworakowski@intel.com>
> Signed-off-by: Dhanya Pillai <dhanya.r.pillai@intel.com>
> ---


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

* Re: [PATCH v3 03/10] net/ice/base: fix integer overflow issue
  2025-05-27 13:17 ` [PATCH v3 03/10] net/ice/base: fix integer overflow issue Dhanya Pillai
@ 2025-05-27 17:06   ` Bruce Richardson
  0 siblings, 0 replies; 17+ messages in thread
From: Bruce Richardson @ 2025-05-27 17:06 UTC (permalink / raw)
  To: Dhanya Pillai; +Cc: dev

On Tue, May 27, 2025 at 01:17:22PM +0000, Dhanya Pillai wrote:
> From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
> 
> Fix issue related to INTEGER_OVERFLOW.
> 
> Fixes: f636f2888cec ("net/ice/base: move and add some help function and macros")

Minor nit, that commit just moves the function about, but does not
introduce the code being fixed here. Instead it's older commit we need to
reference:

Fixes: aa1cd410fa64 ("net/ice/base: add flow module")


> Cc: stable@dpdk.org
> 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..ae3b944d6e 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] 17+ messages in thread

* Re: [PATCH v3 04/10] net/ice/base: set speculative execution barrier
  2025-05-27 13:17 ` [PATCH v3 04/10] net/ice/base: set speculative execution barrier Dhanya Pillai
@ 2025-05-28 13:07   ` Bruce Richardson
  2025-05-28 14:59     ` Bruce Richardson
  0 siblings, 1 reply; 17+ messages in thread
From: Bruce Richardson @ 2025-05-28 13:07 UTC (permalink / raw)
  To: Dhanya Pillai; +Cc: Anatoly Burakov, dev, Lukasz Krakowiak

On Tue, May 27, 2025 at 01:17:23PM +0000, Dhanya Pillai wrote:
> From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
> 
> Fix 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 definitions.
> 
> 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()
> +

I suspect rather than removing this, they would be better defined as
rte_smp_* barriers. As in:

#define ice_memfence_read() rte_smp_rmb()

Let me know if you agree with this proposal, and I'll add it on apply.

/Bruce

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

* Re: [PATCH v3 04/10] net/ice/base: set speculative execution barrier
  2025-05-28 13:07   ` Bruce Richardson
@ 2025-05-28 14:59     ` Bruce Richardson
  2025-05-28 17:55       ` Pillai, Dhanya R
  0 siblings, 1 reply; 17+ messages in thread
From: Bruce Richardson @ 2025-05-28 14:59 UTC (permalink / raw)
  To: Dhanya Pillai; +Cc: Anatoly Burakov, dev, Lukasz Krakowiak

On Wed, May 28, 2025 at 02:07:25PM +0100, Bruce Richardson wrote:
> On Tue, May 27, 2025 at 01:17:23PM +0000, Dhanya Pillai wrote:
> > From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
> > 
> > Fix 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 definitions.
> > 
> > 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()
> > +
> 
> I suspect rather than removing this, they would be better defined as
> rte_smp_* barriers. As in:
> 
> #define ice_memfence_read() rte_smp_rmb()
> 
Correcting my own suggestion - since this is a NIC driver, we probably want
to use rte_io_* barriers, not the rte_smp_* ones.

/Bruce

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

* RE: [PATCH v3 04/10] net/ice/base: set speculative execution barrier
  2025-05-28 14:59     ` Bruce Richardson
@ 2025-05-28 17:55       ` Pillai, Dhanya R
  0 siblings, 0 replies; 17+ messages in thread
From: Pillai, Dhanya R @ 2025-05-28 17:55 UTC (permalink / raw)
  To: Richardson, Bruce; +Cc: Burakov, Anatoly, dev, Krakowiak, LukaszX

Sounds good to me Bruce.

/Dhanya
-----Original Message-----
From: Richardson, Bruce <bruce.richardson@intel.com> 
Sent: Wednesday, May 28, 2025 3:59 PM
To: Pillai, Dhanya R <dhanya.r.pillai@intel.com>
Cc: Burakov, Anatoly <anatoly.burakov@intel.com>; dev@dpdk.org; Krakowiak, LukaszX <lukaszx.krakowiak@intel.com>
Subject: Re: [PATCH v3 04/10] net/ice/base: set speculative execution barrier

On Wed, May 28, 2025 at 02:07:25PM +0100, Bruce Richardson wrote:
> On Tue, May 27, 2025 at 01:17:23PM +0000, Dhanya Pillai wrote:
> > From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
> > 
> > Fix 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 definitions.
> > 
> > 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()
> > +
> 
> I suspect rather than removing this, they would be better defined as
> rte_smp_* barriers. As in:
> 
> #define ice_memfence_read() rte_smp_rmb()
> 
Correcting my own suggestion - since this is a NIC driver, we probably want to use rte_io_* barriers, not the rte_smp_* ones.

/Bruce

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

* Re: [PATCH v3 00/10] Update ice base code
  2025-05-27 13:17 [PATCH v3 00/10] Update ice base code Dhanya Pillai
                   ` (9 preceding siblings ...)
  2025-05-27 13:17 ` [PATCH v3 10/10] net/ice/base: update version info Dhanya Pillai
@ 2025-05-29  8:29 ` Bruce Richardson
  10 siblings, 0 replies; 17+ messages in thread
From: Bruce Richardson @ 2025-05-29  8:29 UTC (permalink / raw)
  To: Dhanya Pillai; +Cc: dev

On Tue, May 27, 2025 at 01:17:19PM +0000, Dhanya Pillai wrote:
> ice base code is updated to latest snapshot.
> 
> v3:
> - Fixed check patch failure in DPDK CI.
> - Added Fixes tag to bug fixes.
> - Corrected author name for couple of patches.
> 
> v2:
> - Added Author Signoff.
> 
> Dhanya Pillai (1):
>   net/ice/base: update version info
> 
> Janardhanan Arumugam (1):
>   net/ice/base: increase reset timeout to 20 seconds
> 
> Lukasz Krakowiak (3):
>   net/ice/base: fix integer overflow issue
>   net/ice/base: set speculative execution barrier
>   net/ice/base: fix typo in desc for dev ID 579F
> 
> Mikolaj Filar (2):
>   net/ice/base: support for MAC rule with own filter flags
>   net/ice/base: configure PHY FEC error in logs for GNRD
> 
> Oleg Akhrem (1):
>   net/ice/base: ptp minimal refactoring
> 
> Paul Greenwalt (1):
>   net/ice/base: fix typo in media type check
> 
> Waldemar Dworakowski (1):
>   net/ice/base: fix type conversion
> 
>  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(-)
> 

Series-acked-by: Bruce Richardson <bruce.richardson@intel.com>

Applied to dpdk-next-net-intel with the suggested changes.

Thanks,
/Bruce

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

end of thread, other threads:[~2025-05-29  8:30 UTC | newest]

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

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