X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Focteontx2%2Fotx2_rx.c;h=ffeade5952dc3a3547a297c748e96e85d9b7f0e6;hb=fad80ab3698e7f7d3e9c2a28c371da6a17fbc477;hp=47641c757281895560942052d5d0df936cf56146;hpb=4483e81439a45684de697b54de1392c7076050e2;p=dpdk.git diff --git a/drivers/net/octeontx2/otx2_rx.c b/drivers/net/octeontx2/otx2_rx.c index 47641c7572..ffeade5952 100644 --- a/drivers/net/octeontx2/otx2_rx.c +++ b/drivers/net/octeontx2/otx2_rx.c @@ -279,6 +279,12 @@ nix_recv_pkts_vector(void *rx_queue, struct rte_mbuf **rx_pkts, vst1q_u64((uint64_t *)mbuf2->rearm_data, rearm2); vst1q_u64((uint64_t *)mbuf3->rearm_data, rearm3); + /* Update that no more segments */ + mbuf0->next = NULL; + mbuf1->next = NULL; + mbuf2->next = NULL; + mbuf3->next = NULL; + /* Store the mbufs to rx_pkts */ vst1q_u64((uint64_t *)&rx_pkts[packets], mbuf01); vst1q_u64((uint64_t *)&rx_pkts[packets + 2], mbuf23); @@ -303,7 +309,7 @@ nix_recv_pkts_vector(void *rx_queue, struct rte_mbuf **rx_pkts, rxq->head = head; rxq->available -= packets; - rte_cio_wmb(); + rte_io_wmb(); /* Free all the CQs that we've processed */ otx2_write64((rxq->wdata | packets), rxq->cq_door); @@ -331,14 +337,14 @@ nix_recv_pkts_vector(void *rx_queue, struct rte_mbuf **rx_pkts, #endif #define R(name, f6, f5, f4, f3, f2, f1, f0, flags) \ -static uint16_t __rte_noinline __hot \ +static uint16_t __rte_noinline __rte_hot \ otx2_nix_recv_pkts_ ## name(void *rx_queue, \ struct rte_mbuf **rx_pkts, uint16_t pkts) \ { \ return nix_recv_pkts(rx_queue, rx_pkts, pkts, (flags)); \ } \ \ -static uint16_t __rte_noinline __hot \ +static uint16_t __rte_noinline __rte_hot \ otx2_nix_recv_pkts_mseg_ ## name(void *rx_queue, \ struct rte_mbuf **rx_pkts, uint16_t pkts) \ { \ @@ -346,7 +352,7 @@ otx2_nix_recv_pkts_mseg_ ## name(void *rx_queue, \ (flags) | NIX_RX_MULTI_SEG_F); \ } \ \ -static uint16_t __rte_noinline __hot \ +static uint16_t __rte_noinline __rte_hot \ otx2_nix_recv_pkts_vec_ ## name(void *rx_queue, \ struct rte_mbuf **rx_pkts, uint16_t pkts) \ { \