Moving memory barrier so that dequeue thread can be in sync with enqueue
thread.

Signed-off-by: Hernan Vargas <hernan.var...@intel.com>
---
 drivers/baseband/acc/acc_common.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/baseband/acc/acc_common.h 
b/drivers/baseband/acc/acc_common.h
index fddeb0737b8b..e249f37e38fe 100644
--- a/drivers/baseband/acc/acc_common.h
+++ b/drivers/baseband/acc/acc_common.h
@@ -1112,6 +1112,9 @@ acc_dma_enqueue(struct acc_queue *q, uint16_t n,
                                req_elem_addr,
                                (void *)q->mmio_reg_enqueue);
 
+               q->aq_enqueued++;
+               q->sw_ring_head += enq_batch_size;
+
                rte_wmb();
 
                /* Start time measurement for enqueue function offload. */
@@ -1122,8 +1125,6 @@ acc_dma_enqueue(struct acc_queue *q, uint16_t n,
 
                queue_stats->acc_offload_cycles += rte_rdtsc_precise() - 
start_time;
 
-               q->aq_enqueued++;
-               q->sw_ring_head += enq_batch_size;
                n -= enq_batch_size;
 
        } while (n);
-- 
2.37.1

Reply via email to