event/cnxk: add wmb after steorl for event mode
Checks
Commit Message
LMTST area can be overwritten before read by HW between to consecutive
steorl operations. Hence, add wmb() after steorl op to make sure
the lmtst operation is complete.
Signed-off-by: Srujana Challa <schalla@marvell.com>
---
drivers/event/cnxk/cn10k_tx_worker.h | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
@@ -43,7 +43,6 @@ cn10k_sso_tx_one(struct cn10k_sso_hws *ws, struct rte_mbuf *m, uint64_t *cmd,
const uint64_t *txq_data, const uint32_t flags)
{
uint8_t lnum = 0, loff = 0, shft = 0;
- uint16_t ref_cnt = m->refcnt;
struct cn10k_eth_txq *txq;
uintptr_t laddr;
uint16_t segdw;
@@ -98,10 +97,9 @@ cn10k_sso_tx_one(struct cn10k_sso_hws *ws, struct rte_mbuf *m, uint64_t *cmd,
roc_lmt_submit_steorl(lmt_id, pa);
- if (flags & NIX_TX_OFFLOAD_MBUF_NOFF_F) {
- if (ref_cnt > 1)
- rte_io_wmb();
- }
+ /* Memory barrier to make sure lmtst store completes */
+ rte_io_wmb();
+
return 1;
}