[PATCH v1] event/cnxk: fix setting event attributes in empty get work
Pavan Nikhilesh Bhagavatula
pbhagavatula at marvell.com
Thu Apr 27 08:54:03 CEST 2023
> -----Original Message-----
> From: Shijith Thotton <sthotton at marvell.com>
> Sent: Thursday, April 27, 2023 11:58 AM
> To: Jerin Jacob Kollanukkaran <jerinj at marvell.com>
> Cc: Shijith Thotton <sthotton at marvell.com>; dev at dpdk.org; Pavan
> Nikhilesh Bhagavatula <pbhagavatula at marvell.com>; stable at dpdk.org
> Subject: [PATCH v1] event/cnxk: fix setting event attributes in empty get
> work
>
> Even when no events are dequeued, it is important to update event
> attributes as they provide valuable information for checking the work
> slot state and other attributes.
>
> Fixes: c0a9774f030d ("event/cnxk: move post-processing to separate
> function")
>
> Signed-off-by: Shijith Thotton <sthotton at marvell.com>
Acked-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
> ---
> drivers/event/cnxk/cn10k_worker.h | 3 +++
> drivers/event/cnxk/cn9k_worker.h | 6 ++++--
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/event/cnxk/cn10k_worker.h
> b/drivers/event/cnxk/cn10k_worker.h
> index 06c71c6092..beae2be903 100644
> --- a/drivers/event/cnxk/cn10k_worker.h
> +++ b/drivers/event/cnxk/cn10k_worker.h
> @@ -282,6 +282,9 @@ cn10k_sso_hws_get_work_empty(struct
> cn10k_sso_hws *ws, struct rte_event *ev,
> ws->gw_rdata = gw.u64[0];
> if (gw.u64[1])
> cn10k_sso_hws_post_process(ws, gw.u64, flags);
> + else
> + gw.u64[0] = (gw.u64[0] & (0x3ull << 32)) << 6 |
> + (gw.u64[0] & (0x3FFull << 36)) << 4 | (gw.u64[0] &
> 0xffffffff);
>
> ev->event = gw.u64[0];
> ev->u64 = gw.u64[1];
> diff --git a/drivers/event/cnxk/cn9k_worker.h
> b/drivers/event/cnxk/cn9k_worker.h
> index 1ce4b044e8..47eea70b5f 100644
> --- a/drivers/event/cnxk/cn9k_worker.h
> +++ b/drivers/event/cnxk/cn9k_worker.h
> @@ -353,8 +353,10 @@ cn9k_sso_hws_get_work_empty(uint64_t base,
> struct rte_event *ev,
> #endif
>
> if (gw.u64[1])
> - cn9k_sso_hws_post_process(gw.u64, mbuf, flags,
> lookup_mem,
> - tstamp);
> + cn9k_sso_hws_post_process(gw.u64, mbuf, flags,
> lookup_mem, tstamp);
> + else
> + gw.u64[0] = (gw.u64[0] & (0x3ull << 32)) << 6 |
> + (gw.u64[0] & (0x3FFull << 36)) << 4 | (gw.u64[0] &
> 0xffffffff);
>
> ev->event = gw.u64[0];
> ev->u64 = gw.u64[1];
> --
> 2.25.1
More information about the stable
mailing list