On Fri, Dec 9, 2022 at 7:11 PM Rahul Bhansali <rbhans...@marvell.com> wrote: > > Wait for CPT flow control on WQE path.
Please add Why? If it is bug add Fixes: Also change the subject as event/cnxk: wait for CPT flow control on WQE path > > Signed-off-by: Rahul Bhansali <rbhans...@marvell.com> > --- > drivers/event/cnxk/cn9k_worker.h | 1 + > drivers/net/cnxk/cn9k_tx.h | 10 ++++++++++ > 2 files changed, 11 insertions(+) > > diff --git a/drivers/event/cnxk/cn9k_worker.h > b/drivers/event/cnxk/cn9k_worker.h > index 4c3932da47..d3c5180fbc 100644 > --- a/drivers/event/cnxk/cn9k_worker.h > +++ b/drivers/event/cnxk/cn9k_worker.h > @@ -730,6 +730,7 @@ cn9k_sso_hws_xmit_sec_one(const struct cn9k_eth_txq *txq, > uint64_t base, > > rte_io_wmb(); > cn9k_sso_txq_fc_wait(txq); > + cn9k_nix_sec_fc_wait_one(txq); > > /* Write CPT instruction to lmt line */ > vst1q_u64(lmt_addr, cmd01); > diff --git a/drivers/net/cnxk/cn9k_tx.h b/drivers/net/cnxk/cn9k_tx.h > index 404edd6aed..7362025a34 100644 > --- a/drivers/net/cnxk/cn9k_tx.h > +++ b/drivers/net/cnxk/cn9k_tx.h > @@ -388,6 +388,16 @@ cn9k_nix_xmit_prep_lmt(uint64_t *cmd, void *lmt_addr, > const uint32_t flags) > roc_lmt_mov(lmt_addr, cmd, cn9k_nix_tx_ext_subs(flags)); > } > > +static __rte_always_inline void > +cn9k_nix_sec_fc_wait_one(const struct cn9k_eth_txq *txq) > +{ > + uint64_t nb_desc = txq->cpt_desc; > + uint64_t *fc = txq->cpt_fc; > + > + while (nb_desc <= __atomic_load_n(fc, __ATOMIC_RELAXED)) > + ; > +} > + > static __rte_always_inline uint64_t > cn9k_nix_xmit_submit_lmt(const rte_iova_t io_addr) > { > -- > 2.25.1 >