> -----Original Message----- > From: Shijith Thotton > Sent: Thursday, April 27, 2023 11:58 AM > To: Jerin Jacob Kollanukkaran > Cc: Shijith Thotton ; dev@dpdk.org; Pavan > Nikhilesh Bhagavatula ; stable@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 Acked-by: Pavan Nikhilesh > --- > 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