* maximum number of packets to receive to be a multiple of the per-
* loop count.
*/
- if (nb_pkts < RTE_BNXT_DESCS_PER_LOOP)
- desc_valid_mask >>= 16 * (RTE_BNXT_DESCS_PER_LOOP - nb_pkts);
- else
- nb_pkts = RTE_ALIGN_FLOOR(nb_pkts, RTE_BNXT_DESCS_PER_LOOP);
+ if (nb_pkts < BNXT_RX_DESCS_PER_LOOP_VEC128) {
+ desc_valid_mask >>=
+ 16 * (BNXT_RX_DESCS_PER_LOOP_VEC128 - nb_pkts);
+ } else {
+ nb_pkts =
+ RTE_ALIGN_FLOOR(nb_pkts, BNXT_RX_DESCS_PER_LOOP_VEC128);
+ }
/* Handle RX burst request */
- for (i = 0; i < nb_pkts; i += RTE_BNXT_DESCS_PER_LOOP,
- cons += RTE_BNXT_DESCS_PER_LOOP * 2,
- mbcons += RTE_BNXT_DESCS_PER_LOOP) {
- uint32x4_t rxcmp1[RTE_BNXT_DESCS_PER_LOOP];
- uint32x4_t rxcmp[RTE_BNXT_DESCS_PER_LOOP];
+ for (i = 0; i < nb_pkts; i += BNXT_RX_DESCS_PER_LOOP_VEC128,
+ cons += BNXT_RX_DESCS_PER_LOOP_VEC128 * 2,
+ mbcons += BNXT_RX_DESCS_PER_LOOP_VEC128) {
+ uint32x4_t rxcmp1[BNXT_RX_DESCS_PER_LOOP_VEC128];
+ uint32x4_t rxcmp[BNXT_RX_DESCS_PER_LOOP_VEC128];
uint32x4_t info3_v;
uint64x2_t t0, t1;
uint32_t num_valid;
#endif
/* Prefetch four descriptor pairs for next iteration. */
- if (i + RTE_BNXT_DESCS_PER_LOOP < nb_pkts) {
+ if (i + BNXT_RX_DESCS_PER_LOOP_VEC128 < nb_pkts) {
rte_prefetch0(&cp_desc_ring[cons + 8]);
rte_prefetch0(&cp_desc_ring[cons + 12]);
}
rxr);
nb_rx_pkts += num_valid;
- if (num_valid < RTE_BNXT_DESCS_PER_LOOP)
+ if (num_valid < BNXT_RX_DESCS_PER_LOOP_VEC128)
break;
}