Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/122517 _apply patch failure_ Submitter: Rahul Bhansali Date: Wednesday, January 25 2023 11:31:26 Applied on: CommitID:2a211079a92e962bbd0ec81e425a6ffc32890e67 Apply patch set 122517-122520 failed: Checking patch drivers/net/cnxk/cn10k_ethdev.h... error: while searching for: #include #include struct cn10k_eth_txq { uint64_t send_hdr_w0; int64_t fc_cache_pkts; uint64_t *fc_mem; uintptr_t lmt_base; rte_iova_t io_addr; uint16_t sqes_per_sqb_log2; int16_t nb_sqb_bufs_adj; rte_iova_t cpt_io_addr; uint64_t sa_base; uint64_t *cpt_fc; uint16_t cpt_desc; int32_t *cpt_fc_sw; uint64_t lso_tun_fmt; uint64_t ts_mem; uint64_t mark_flag : 8; uint64_t mark_fmt : 48; struct cnxk_eth_txq_comp tx_compl; } __plt_cache_aligned; struct cn10k_eth_rxq { uint64_t mbuf_initializer; uintptr_t desc; void *lookup_mem; uintptr_t cq_door; uint64_t wdata; int64_t *cq_status; uint32_t head; uint32_t qmask; uint32_t available; uint16_t data_off; uint64_t sa_base; uint64_t lmt_base; uint64_t meta_aura; uint16_t rq; struct cnxk_timesync_info *tstamp; } __plt_cache_aligned; /* Private data in sw rsvd area of struct roc_ot_ipsec_inb_sa */ struct cn10k_inb_priv_data { void *userdata; int reass_dynfield_off; int reass_dynflag_bit; struct cnxk_eth_sec_sess *eth_sec; }; /* Private data in sw rsvd area of struct roc_ot_ipsec_outb_sa */ struct cn10k_outb_priv_data { error: patch failed: drivers/net/cnxk/cn10k_ethdev.h:6 Hunk #2 succeeded at 63 (offset 44 lines). Hunk #3 succeeded at 74 (offset 44 lines). Checking patch drivers/net/cnxk/cn10k_rx.h... Checking patch drivers/net/cnxk/cn10k_rxtx.h... Checking patch drivers/net/cnxk/cn10k_tx.h... Checking patch drivers/net/cnxk/cnxk_ethdev.h... error: while searching for: #define RSS_DMAC_INDEX 5 /* Default mark value used when none is provided. */ #define CNXK_FLOW_ACTION_FLAG_DEFAULT 0xffff #define CNXK_NIX_MTR_COUNT_MAX 73 /* 64(leaf) + 8(mid) + 1(top) */ /* Default cycle counter mask */ #define CNXK_CYCLECOUNTER_MASK 0xffffffffffffffffULL #define CNXK_NIX_TIMESYNC_RX_OFFSET 8 #define PTYPE_NON_TUNNEL_WIDTH 16 #define PTYPE_TUNNEL_WIDTH 12 #define PTYPE_NON_TUNNEL_ARRAY_SZ BIT(PTYPE_NON_TUNNEL_WIDTH) #define PTYPE_TUNNEL_ARRAY_SZ BIT(PTYPE_TUNNEL_WIDTH) #define PTYPE_ARRAY_SZ \ ((PTYPE_NON_TUNNEL_ARRAY_SZ + PTYPE_TUNNEL_ARRAY_SZ) * sizeof(uint16_t)) /* NIX_RX_PARSE_S's ERRCODE + ERRLEV (12 bits) */ #define ERRCODE_ERRLEN_WIDTH 12 #define ERR_ARRAY_SZ ((BIT(ERRCODE_ERRLEN_WIDTH)) * sizeof(uint32_t)) /* Fastpath lookup */ #define CNXK_NIX_FASTPATH_LOOKUP_MEM "cnxk_nix_fastpath_lookup_mem" #define CNXK_NIX_UDP_TUN_BITMASK \ ((1ull << (RTE_MBUF_F_TX_TUNNEL_VXLAN >> 45)) | \ (1ull << (RTE_MBUF_F_TX_TUNNEL_GENEVE >> 45))) /* Subtype from inline outbound error event */ #define CNXK_ETHDEV_SEC_OUTB_EV_SUB 0xFFUL /* SPI will be in 20 bits of tag */ #define CNXK_ETHDEV_SPI_TAG_MASK 0xFFFFFUL #define CNXK_NIX_PFC_CHAN_COUNT 16 #define CNXK_TM_MARK_VLAN_DEI BIT_ULL(0) #define CNXK_TM_MARK_IP_DSCP BIT_ULL(1) #define CNXK_TM_MARK_IP_ECN BIT_ULL(2) #define CNXK_TM_MARK_MASK \ (CNXK_TM_MARK_VLAN_DEI | CNXK_TM_MARK_IP_DSCP | CNXK_TM_MARK_IP_ECN) #define CNXK_TX_MARK_FMT_MASK (0xFFFFFFFFFFFFull) struct cnxk_eth_txq_comp { uintptr_t desc_base; uintptr_t cq_door; int64_t *cq_status; uint64_t wdata; uint32_t head; uint32_t qmask; uint32_t nb_desc_mask; uint32_t available; uint32_t sqe_id; bool ena; struct rte_mbuf **ptr; rte_spinlock_t ext_buf_lock; }; struct cnxk_fc_cfg { enum rte_eth_fc_mode mode; uint8_t rx_pause; error: patch failed: drivers/net/cnxk/cnxk_ethdev.h:111 Hunk #4 succeeded at 163 (offset 33 lines). Hunk #5 succeeded at 671 (offset 30 lines). Checking patch drivers/net/cnxk/cnxk_ethdev_dp.h... Checking patch drivers/net/cnxk/rx/cn10k/rx_0_15.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_112_127.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_16_31.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_32_47.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_48_63.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_64_79.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_80_95.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_96_111.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c... Checking patch drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_0_15.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_112_127.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_16_31.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_32_47.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_48_63.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_64_79.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_80_95.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_96_111.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c... Checking patch drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c... Applying patch drivers/net/cnxk/cn10k_ethdev.h with 1 reject... Rejected hunk #1. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Applied patch drivers/net/cnxk/cn10k_rx.h cleanly. Applied patch drivers/net/cnxk/cn10k_rxtx.h cleanly. Applied patch drivers/net/cnxk/cn10k_tx.h cleanly. Applying patch drivers/net/cnxk/cnxk_ethdev.h with 1 reject... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Rejected hunk #3. Hunk #4 applied cleanly. Hunk #5 applied cleanly. Applied patch drivers/net/cnxk/cnxk_ethdev_dp.h cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_0_15.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_112_127.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_16_31.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_32_47.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_48_63.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_64_79.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_80_95.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_96_111.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c cleanly. Applied patch drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_0_15.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_112_127.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_16_31.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_32_47.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_48_63.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_64_79.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_80_95.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_96_111.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c cleanly. Applied patch drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c cleanly. diff a/drivers/net/cnxk/cn10k_ethdev.h b/drivers/net/cnxk/cn10k_ethdev.h (rejected hunks) @@ -6,52 +6,7 @@ #include #include - -struct cn10k_eth_txq { - uint64_t send_hdr_w0; - int64_t fc_cache_pkts; - uint64_t *fc_mem; - uintptr_t lmt_base; - rte_iova_t io_addr; - uint16_t sqes_per_sqb_log2; - int16_t nb_sqb_bufs_adj; - rte_iova_t cpt_io_addr; - uint64_t sa_base; - uint64_t *cpt_fc; - uint16_t cpt_desc; - int32_t *cpt_fc_sw; - uint64_t lso_tun_fmt; - uint64_t ts_mem; - uint64_t mark_flag : 8; - uint64_t mark_fmt : 48; - struct cnxk_eth_txq_comp tx_compl; -} __plt_cache_aligned; - -struct cn10k_eth_rxq { - uint64_t mbuf_initializer; - uintptr_t desc; - void *lookup_mem; - uintptr_t cq_door; - uint64_t wdata; - int64_t *cq_status; - uint32_t head; - uint32_t qmask; - uint32_t available; - uint16_t data_off; - uint64_t sa_base; - uint64_t lmt_base; - uint64_t meta_aura; - uint16_t rq; - struct cnxk_timesync_info *tstamp; -} __plt_cache_aligned; - -/* Private data in sw rsvd area of struct roc_ot_ipsec_inb_sa */ -struct cn10k_inb_priv_data { - void *userdata; - int reass_dynfield_off; - int reass_dynflag_bit; - struct cnxk_eth_sec_sess *eth_sec; -}; +#include /* Private data in sw rsvd area of struct roc_ot_ipsec_outb_sa */ struct cn10k_outb_priv_data { diff a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h (rejected hunks) @@ -111,63 +99,14 @@ #define RSS_DMAC_INDEX 5 /* Default mark value used when none is provided. */ -#define CNXK_FLOW_ACTION_FLAG_DEFAULT 0xffff #define CNXK_NIX_MTR_COUNT_MAX 73 /* 64(leaf) + 8(mid) + 1(top) */ /* Default cycle counter mask */ #define CNXK_CYCLECOUNTER_MASK 0xffffffffffffffffULL -#define CNXK_NIX_TIMESYNC_RX_OFFSET 8 - -#define PTYPE_NON_TUNNEL_WIDTH 16 -#define PTYPE_TUNNEL_WIDTH 12 -#define PTYPE_NON_TUNNEL_ARRAY_SZ BIT(PTYPE_NON_TUNNEL_WIDTH) -#define PTYPE_TUNNEL_ARRAY_SZ BIT(PTYPE_TUNNEL_WIDTH) -#define PTYPE_ARRAY_SZ \ - ((PTYPE_NON_TUNNEL_ARRAY_SZ + PTYPE_TUNNEL_ARRAY_SZ) * sizeof(uint16_t)) - -/* NIX_RX_PARSE_S's ERRCODE + ERRLEV (12 bits) */ -#define ERRCODE_ERRLEN_WIDTH 12 -#define ERR_ARRAY_SZ ((BIT(ERRCODE_ERRLEN_WIDTH)) * sizeof(uint32_t)) /* Fastpath lookup */ #define CNXK_NIX_FASTPATH_LOOKUP_MEM "cnxk_nix_fastpath_lookup_mem" -#define CNXK_NIX_UDP_TUN_BITMASK \ - ((1ull << (RTE_MBUF_F_TX_TUNNEL_VXLAN >> 45)) | \ - (1ull << (RTE_MBUF_F_TX_TUNNEL_GENEVE >> 45))) - -/* Subtype from inline outbound error event */ -#define CNXK_ETHDEV_SEC_OUTB_EV_SUB 0xFFUL - -/* SPI will be in 20 bits of tag */ -#define CNXK_ETHDEV_SPI_TAG_MASK 0xFFFFFUL - -#define CNXK_NIX_PFC_CHAN_COUNT 16 - -#define CNXK_TM_MARK_VLAN_DEI BIT_ULL(0) -#define CNXK_TM_MARK_IP_DSCP BIT_ULL(1) -#define CNXK_TM_MARK_IP_ECN BIT_ULL(2) - -#define CNXK_TM_MARK_MASK \ - (CNXK_TM_MARK_VLAN_DEI | CNXK_TM_MARK_IP_DSCP | CNXK_TM_MARK_IP_ECN) - -#define CNXK_TX_MARK_FMT_MASK (0xFFFFFFFFFFFFull) - -struct cnxk_eth_txq_comp { - uintptr_t desc_base; - uintptr_t cq_door; - int64_t *cq_status; - uint64_t wdata; - uint32_t head; - uint32_t qmask; - uint32_t nb_desc_mask; - uint32_t available; - uint32_t sqe_id; - bool ena; - struct rte_mbuf **ptr; - rte_spinlock_t ext_buf_lock; -}; - struct cnxk_fc_cfg { enum rte_eth_fc_mode mode; uint8_t rx_pause; Checking patch drivers/crypto/cnxk/cn10k_cryptodev_event_dp.h... Checking patch drivers/crypto/cnxk/cn10k_cryptodev_ops.c... Checking patch drivers/crypto/cnxk/cn10k_cryptodev_ops.h... Checking patch drivers/event/cnxk/cn10k_eventdev.c... Checking patch drivers/event/cnxk/cn10k_eventdev.h... Checking patch drivers/event/cnxk/cn10k_tx_worker.h... Checking patch drivers/event/cnxk/cn10k_worker.c... Checking patch drivers/event/cnxk/cn10k_worker.h... error: while searching for: return fn(port, ev, timeout_ticks); \ } static __rte_always_inline struct cn10k_eth_txq * cn10k_sso_hws_xtract_meta(struct rte_mbuf *m, const uint64_t *txq_data) { return (struct cn10k_eth_txq *)(txq_data[(txq_data[m->port] >> 48) + rte_event_eth_tx_adapter_txq_get(m)] & (BIT_ULL(48) - 1)); } static __rte_always_inline void cn10k_sso_txq_fc_wait(const struct cn10k_eth_txq *txq) { while ((uint64_t)txq->nb_sqb_bufs_adj <= __atomic_load_n(txq->fc_mem, __ATOMIC_RELAXED)) ; } static __rte_always_inline int32_t cn10k_sso_sq_depth(const struct cn10k_eth_txq *txq) { return (txq->nb_sqb_bufs_adj - __atomic_load_n((int16_t *)txq->fc_mem, __ATOMIC_RELAXED)) << txq->sqes_per_sqb_log2; } static __rte_always_inline uint16_t cn10k_sso_tx_one(struct cn10k_sso_hws *ws, struct rte_mbuf *m, uint64_t *cmd, uint16_t lmt_id, uintptr_t lmt_addr, uint8_t sched_type, 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; uintptr_t pa; bool sec; txq = cn10k_sso_hws_xtract_meta(m, txq_data); if (cn10k_sso_sq_depth(txq) <= 0) return 0; if (flags & NIX_TX_OFFLOAD_MBUF_NOFF_F && txq->tx_compl.ena) handle_tx_completion_pkts(txq, 1, 1); cn10k_nix_tx_skeleton(txq, cmd, flags, 0); /* Perform header writes before barrier * for TSO */ if (flags & NIX_TX_OFFLOAD_TSO_F) cn10k_nix_xmit_prepare_tso(m, flags); cn10k_nix_xmit_prepare(txq, m, cmd, flags, txq->lso_tun_fmt, &sec, txq->mark_flag, txq->mark_fmt); laddr = lmt_addr; /* Prepare CPT instruction and get nixtx addr if * it is for CPT on same lmtline. */ if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec) cn10k_nix_prep_sec(m, cmd, &laddr, lmt_addr, &lnum, &loff, &shft, txq->sa_base, flags); /* Move NIX desc to LMT/NIXTX area */ cn10k_nix_xmit_mv_lmt_base(laddr, cmd, flags); if (flags & NIX_TX_MULTI_SEG_F) segdw = cn10k_nix_prepare_mseg(txq, m, (uint64_t *)laddr, flags); else segdw = cn10k_nix_tx_ext_subs(flags) + 2; cn10k_nix_xmit_prepare_tstamp(txq, laddr, m->ol_flags, segdw, flags); if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec) pa = txq->cpt_io_addr | 3 << 4; else pa = txq->io_addr | ((segdw - 1) << 4); if (!CNXK_TAG_IS_HEAD(ws->gw_rdata) && !sched_type) ws->gw_rdata = roc_sso_hws_head_wait(ws->base); cn10k_sso_txq_fc_wait(txq); if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec) cn10k_nix_sec_fc_wait_one(txq); roc_lmt_submit_steorl(lmt_id, pa); if (flags & NIX_TX_OFFLOAD_MBUF_NOFF_F) { if (ref_cnt > 1) rte_io_wmb(); } return 1; } static __rte_always_inline uint16_t cn10k_sso_vwqe_split_tx(struct cn10k_sso_hws *ws, struct rte_mbuf **mbufs, uint16_t nb_mbufs, uint64_t *cmd, const uint64_t *txq_data, const uint32_t flags) { uint16_t count = 0, port, queue, ret = 0, last_idx = 0; struct cn10k_eth_txq *txq; int32_t space; int i; port = mbufs[0]->port; queue = rte_event_eth_tx_adapter_txq_get(mbufs[0]); for (i = 0; i < nb_mbufs; i++) { if (port != mbufs[i]->port || queue != rte_event_eth_tx_adapter_txq_get(mbufs[i])) { if (count) { txq = (struct cn10k_eth_txq *)(txq_data[(txq_data[port] >> 48) + queue] & (BIT_ULL(48) - 1)); /* Transmit based on queue depth */ space = cn10k_sso_sq_depth(txq); if (space < count) goto done; cn10k_nix_xmit_pkts_vector( txq, (uint64_t *)ws, &mbufs[last_idx], count, cmd, flags | NIX_TX_VWQE_F); ret += count; count = 0; } port = mbufs[i]->port; queue = rte_event_eth_tx_adapter_txq_get(mbufs[i]); last_idx = i; } count++; } if (count) { txq = (struct cn10k_eth_txq *)(txq_data[(txq_data[port] >> 48) + queue] & (BIT_ULL(48) - 1)); /* Transmit based on queue depth */ space = cn10k_sso_sq_depth(txq); if (space < count) goto done; cn10k_nix_xmit_pkts_vector(txq, (uint64_t *)ws, &mbufs[last_idx], count, cmd, flags | NIX_ error: patch failed: drivers/event/cnxk/cn10k_worker.h:517 Checking patch drivers/event/cnxk/cnxk_eventdev.c... Checking patch drivers/event/cnxk/cnxk_eventdev.h... Checking patch drivers/event/cnxk/cnxk_eventdev_dp.h... Checking patch drivers/event/cnxk/cnxk_eventdev_selftest.c... Checking patch drivers/event/cnxk/cnxk_eventdev_stats.c... Checking patch drivers/event/cnxk/cnxk_worker.h... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_seg_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c... Checking patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_0_15.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_0_15_seg.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_112_127.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_112_127_seg.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_16_31.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_16_31_seg.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_32_47.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_32_47_seg.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_48_63.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_48_63_seg.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_64_79.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_64_79_seg.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_80_95.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_80_95_seg.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_96_111.c... Checking patch drivers/event/cnxk/tx/cn10k/tx_96_111_seg.c... Applied patch drivers/crypto/cnxk/cn10k_cryptodev_event_dp.h cleanly. Applied patch drivers/crypto/cnxk/cn10k_cryptodev_ops.c cleanly. Applied patch drivers/crypto/cnxk/cn10k_cryptodev_ops.h cleanly. Applied patch drivers/event/cnxk/cn10k_eventdev.c cleanly. Applied patch drivers/event/cnxk/cn10k_eventdev.h cleanly. Applied patch drivers/event/cnxk/cn10k_tx_worker.h cleanly. Applied patch drivers/event/cnxk/cn10k_worker.c cleanly. Applying patch drivers/event/cnxk/cn10k_worker.h with 1 reject... Hunk #1 applied cleanly. Rejected hunk #2. Applied patch drivers/event/cnxk/cnxk_eventdev.c cleanly. Applied patch drivers/event/cnxk/cnxk_eventdev.h cleanly. Applied patch drivers/event/cnxk/cnxk_eventdev_dp.h cleanly. Applied patch drivers/event/cnxk/cnxk_eventdev_selftest.c cleanly. Applied patch drivers/event/cnxk/cnxk_eventdev_stats.c cleanly. Applied patch drivers/event/cnxk/cnxk_worker.h cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_seg_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c cleanly. Applied patch drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_0_15.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_0_15_seg.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_112_127.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_112_127_seg.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_16_31.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_16_31_seg.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_32_47.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_32_47_seg.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_48_63.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_48_63_seg.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_64_79.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_64_79_seg.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_80_95.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_80_95_seg.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_96_111.c cleanly. Applied patch drivers/event/cnxk/tx/cn10k/tx_96_111_seg.c cleanly. diff a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h (rejected hunks) @@ -517,243 +439,4 @@ NIX_RX_FASTPATH_MODES return fn(port, ev, timeout_ticks); \ } -static __rte_always_inline struct cn10k_eth_txq * -cn10k_sso_hws_xtract_meta(struct rte_mbuf *m, const uint64_t *txq_data) -{ - return (struct cn10k_eth_txq - *)(txq_data[(txq_data[m->port] >> 48) + - rte_event_eth_tx_adapter_txq_get(m)] & - (BIT_ULL(48) - 1)); -} - -static __rte_always_inline void -cn10k_sso_txq_fc_wait(const struct cn10k_eth_txq *txq) -{ - while ((uint64_t)txq->nb_sqb_bufs_adj <= - __atomic_load_n(txq->fc_mem, __ATOMIC_RELAXED)) - ; -} - -static __rte_always_inline int32_t -cn10k_sso_sq_depth(const struct cn10k_eth_txq *txq) -{ - return (txq->nb_sqb_bufs_adj - - __atomic_load_n((int16_t *)txq->fc_mem, __ATOMIC_RELAXED)) - << txq->sqes_per_sqb_log2; -} - -static __rte_always_inline uint16_t -cn10k_sso_tx_one(struct cn10k_sso_hws *ws, struct rte_mbuf *m, uint64_t *cmd, - uint16_t lmt_id, uintptr_t lmt_addr, uint8_t sched_type, - 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; - uintptr_t pa; - bool sec; - - txq = cn10k_sso_hws_xtract_meta(m, txq_data); - if (cn10k_sso_sq_depth(txq) <= 0) - return 0; - - if (flags & NIX_TX_OFFLOAD_MBUF_NOFF_F && txq->tx_compl.ena) - handle_tx_completion_pkts(txq, 1, 1); - - cn10k_nix_tx_skeleton(txq, cmd, flags, 0); - /* Perform header writes before barrier - * for TSO - */ - if (flags & NIX_TX_OFFLOAD_TSO_F) - cn10k_nix_xmit_prepare_tso(m, flags); - - cn10k_nix_xmit_prepare(txq, m, cmd, flags, txq->lso_tun_fmt, &sec, - txq->mark_flag, txq->mark_fmt); - - laddr = lmt_addr; - /* Prepare CPT instruction and get nixtx addr if - * it is for CPT on same lmtline. - */ - if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec) - cn10k_nix_prep_sec(m, cmd, &laddr, lmt_addr, &lnum, &loff, - &shft, txq->sa_base, flags); - - /* Move NIX desc to LMT/NIXTX area */ - cn10k_nix_xmit_mv_lmt_base(laddr, cmd, flags); - - if (flags & NIX_TX_MULTI_SEG_F) - segdw = cn10k_nix_prepare_mseg(txq, m, (uint64_t *)laddr, flags); - else - segdw = cn10k_nix_tx_ext_subs(flags) + 2; - - cn10k_nix_xmit_prepare_tstamp(txq, laddr, m->ol_flags, segdw, flags); - if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec) - pa = txq->cpt_io_addr | 3 << 4; - else - pa = txq->io_addr | ((segdw - 1) << 4); - - if (!CNXK_TAG_IS_HEAD(ws->gw_rdata) && !sched_type) - ws->gw_rdata = roc_sso_hws_head_wait(ws->base); - - cn10k_sso_txq_fc_wait(txq); - if (flags & NIX_TX_OFFLOAD_SECURITY_F && sec) - cn10k_nix_sec_fc_wait_one(txq); - - roc_lmt_submit_steorl(lmt_id, pa); - - if (flags & NIX_TX_OFFLOAD_MBUF_NOFF_F) { - if (ref_cnt > 1) - rte_io_wmb(); - } - return 1; -} - -static __rte_always_inline uint16_t -cn10k_sso_vwqe_split_tx(struct cn10k_sso_hws *ws, struct rte_mbuf **mbufs, - uint16_t nb_mbufs, uint64_t *cmd, - const uint64_t *txq_data, const uint32_t flags) -{ - uint16_t count = 0, port, queue, ret = 0, last_idx = 0; - struct cn10k_eth_txq *txq; - int32_t space; - int i; - - port = mbufs[0]->port; - queue = rte_event_eth_tx_adapter_txq_get(mbufs[0]); - for (i = 0; i < nb_mbufs; i++) { - if (port != mbufs[i]->port || - queue != rte_event_eth_tx_adapter_txq_get(mbufs[i])) { - if (count) { - txq = (struct cn10k_eth_txq - *)(txq_data[(txq_data[port] >> - 48) + - queue] & - (BIT_ULL(48) - 1)); - /* Transmit based on queue depth */ - space = cn10k_sso_sq_depth(txq); - if (space < count) - goto done; - cn10k_nix_xmit_pkts_vector( - txq, (uint64_t *)ws, &mbufs[last_idx], - count, cmd, flags | NIX_TX_VWQE_F); - ret += count; - count = 0; - } - port = mbufs[i]->port; - queue = rte_event_eth_tx_adapter_txq_get(mbufs[i]); - last_idx = i; - } - count++; - } - if (count) { - txq = (struct cn10k_eth_txq - *)(txq_data[(txq_data[port] >> 48) + queue] & - (BIT_ULL(48) - 1)); - /* Transmit based on queue depth */ - space = cn10k_sso_sq_depth(txq); - if (space < count) - goto done; - cn10k_nix_xmit_pkts_vector(txq, (uint64_t *)ws, - &mbufs[last_idx], count, cmd, - flags | NIX_TX_VWQE_F); - ret += count; - } -done: - return ret; -} - -static __rte_always_inline uint16_t -cn10k_sso_hws_event_tx(struct cn10k_sso_hws *ws, struct rte_event *ev, - uint64_t *cmd, const uint64_t *txq_data, - const uint32_t flags) -{ - struct cn10k_eth_txq *txq; - struct rte_mbuf *m; - uintptr_t lmt_addr; - uint16_t lmt_id; - - lmt_addr = ws->lmt_base; - ROC_LMT_BASE_ID_GET(lmt_addr, lmt_id); - - if (ev->event_type & RTE_EVENT_TYPE_VECTOR) { - struct rte_mbuf **mbufs = ev->vec->mbufs; - uint64_t meta = *(uint64_t *)ev->vec; - uint16_t offset, nb_pkts, left; - int32_t space; - - nb_pkts = meta & 0xFFFF; - offset = (meta >> 16) & 0xFFF; - if (meta & BIT(31)) { - txq = (struct cn10k_eth_txq - *)(txq_data[(txq_data[meta >> 32] >> - 48) + - (meta >> 48)] & - (BIT_ULL(48) - 1)); - - /* Transmit based on queue depth */ - space = cn10k_sso_sq_depth(txq); - if (space <= 0) - return 0; - nb_pkts = nb_pkts < space ? nb_pkts : (uint16_t)space; - cn10k_nix_xmit_pkts_vector(txq, (uint64_t *)ws, - mbufs + offset, nb_pkts, cmd, - flags | NIX_TX_VWQE_F); - } else { - nb_pkts = cn10k_sso_vwqe_split_tx(ws, mbufs + offset, - nb_pkts, cmd, - txq_data, flags); - } - left = (meta & 0xFFFF) - nb_pkts; - - if (!left) { - rte_mempool_put(rte_mempool_from_obj(ev->vec), ev->vec); - } else { - *(uint64_t *)ev->vec = - (meta & ~0xFFFFFFFUL) | - (((uint32_t)nb_pkts + offset) << 16) | left; - } - rte_prefetch0(ws); - return !left; - } - - m = ev->mbuf; - return cn10k_sso_tx_one(ws, m, cmd, lmt_id, lmt_addr, ev->sched_type, - txq_data, flags); -} - -#define T(name, sz, flags) \ - uint16_t __rte_hot cn10k_sso_hws_tx_adptr_enq_##name( \ - void *port, struct rte_event ev[], uint16_t nb_events); \ - uint16_t __rte_hot cn10k_sso_hws_tx_adptr_enq_seg_##name( \ - void *port, struct rte_event ev[], uint16_t nb_events); - -NIX_TX_FASTPATH_MODES -#undef T - -#define SSO_TX(fn, sz, flags) \ - uint16_t __rte_hot fn(void *port, struct rte_event ev[], \ - uint16_t nb_events) \ - { \ - struct cn10k_sso_hws *ws = port; \ - uint64_t cmd[sz]; \ - RTE_SET_USED(nb_events); \ - return cn10k_sso_hws_event_tx( \ - ws, &ev[0], cmd, (const uint64_t *)ws->tx_adptr_data, \ - flags); \ - } - -#define SSO_TX_SEG(fn, sz, flags) \ - uint16_t __rte_hot fn(void *port, struct rte_event ev[], \ - uint16_t nb_events) \ - { \ - uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2]; \ - struct cn10k_sso_hws *ws = port; \ - RTE_SET_USED(nb_events); \ - return cn10k_sso_hws_event_tx( \ - ws, &ev[0], cmd, (const uint64_t *)ws->tx_adptr_data, \ - (flags) | NIX_TX_MULTI_SEG_F); \ - } - #endif https://lab.dpdk.org/results/dashboard/patchsets/25080/ UNH-IOL DPDK Community Lab