patch 'event/cnxk: fix OOP handling in event mode' has been queued to stable release 23.11.3

Xueming Li xuemingl at nvidia.com
Mon Nov 11 07:27:27 CET 2024


Hi,

FYI, your patch has been queued to stable release 23.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/30/24. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=80a61a0a00e593bc6242a9e8f0a210936885c9b3

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From 80a61a0a00e593bc6242a9e8f0a210936885c9b3 Mon Sep 17 00:00:00 2001
From: Rakesh Kudurumalla <rkudurumalla at marvell.com>
Date: Tue, 1 Oct 2024 11:30:55 +0530
Subject: [PATCH] event/cnxk: fix OOP handling in event mode
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 01a990fe40e827c5f3497f785ce7fd68bff8ef5c ]

Update event device with NIX_RX_REAS_F to handle
out of place processing for SKUs that does not
support reassembly as cn10k driver process OOP
with NIX_RX_REAS_F enabled.

Fixes: 5e9e008d0127 ("net/cnxk: support inline ingress out-of-place session")

Signed-off-by: Rakesh Kudurumalla <rkudurumalla at marvell.com>
---
 drivers/event/cnxk/cn10k_eventdev.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
index 9f1d01f048..a44a33eae8 100644
--- a/drivers/event/cnxk/cn10k_eventdev.c
+++ b/drivers/event/cnxk/cn10k_eventdev.c
@@ -783,7 +783,7 @@ cn10k_sso_set_priv_mem(const struct rte_eventdev *event_dev, void *lookup_mem)
 }

 static void
-eventdev_fops_tstamp_update(struct rte_eventdev *event_dev)
+eventdev_fops_update(struct rte_eventdev *event_dev)
 {
 	struct rte_event_fp_ops *fp_op =
 		rte_event_fp_ops + event_dev->data->dev_id;
@@ -806,7 +806,20 @@ cn10k_sso_tstamp_hdl_update(uint16_t port_id, uint16_t flags, bool ptp_en)
 	else
 		evdev->tstamp[port_id] = NULL;
 	cn10k_sso_fp_fns_set((struct rte_eventdev *)(uintptr_t)event_dev);
-	eventdev_fops_tstamp_update(event_dev);
+	eventdev_fops_update(event_dev);
+}
+
+static void
+cn10k_sso_rx_offload_cb(uint16_t port_id, uint64_t flags)
+{
+	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
+	struct cnxk_eth_dev *cnxk_eth_dev = dev->data->dev_private;
+	struct rte_eventdev *event_dev = cnxk_eth_dev->evdev_priv;
+	struct cnxk_sso_evdev *evdev = cnxk_sso_pmd_priv(event_dev);
+
+	evdev->rx_offloads |= flags;
+	cn10k_sso_fp_fns_set((struct rte_eventdev *)(uintptr_t)event_dev);
+	eventdev_fops_update(event_dev);
 }

 static int
@@ -1116,6 +1129,7 @@ cn10k_sso_init(struct rte_eventdev *event_dev)
 		return rc;
 	}

+	cnxk_ethdev_rx_offload_cb_register(cn10k_sso_rx_offload_cb);
 	event_dev->dev_ops = &cn10k_sso_dev_ops;
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
--
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-11-11 14:23:07.082527300 +0800
+++ 0041-event-cnxk-fix-OOP-handling-in-event-mode.patch	2024-11-11 14:23:05.102192840 +0800
@@ -1 +1 @@
-From 01a990fe40e827c5f3497f785ce7fd68bff8ef5c Mon Sep 17 00:00:00 2001
+From 80a61a0a00e593bc6242a9e8f0a210936885c9b3 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 01a990fe40e827c5f3497f785ce7fd68bff8ef5c ]
@@ -12 +14,0 @@
-Cc: stable at dpdk.org
@@ -20 +22 @@
-index c8767a1b2b..531c489172 100644
+index 9f1d01f048..a44a33eae8 100644
@@ -23 +25 @@
-@@ -843,7 +843,7 @@ cn10k_sso_set_priv_mem(const struct rte_eventdev *event_dev, void *lookup_mem)
+@@ -783,7 +783,7 @@ cn10k_sso_set_priv_mem(const struct rte_eventdev *event_dev, void *lookup_mem)
@@ -32 +34 @@
-@@ -866,7 +866,20 @@ cn10k_sso_tstamp_hdl_update(uint16_t port_id, uint16_t flags, bool ptp_en)
+@@ -806,7 +806,20 @@ cn10k_sso_tstamp_hdl_update(uint16_t port_id, uint16_t flags, bool ptp_en)
@@ -54 +56 @@
-@@ -1241,6 +1254,7 @@ cn10k_sso_init(struct rte_eventdev *event_dev)
+@@ -1116,6 +1129,7 @@ cn10k_sso_init(struct rte_eventdev *event_dev)


More information about the stable mailing list