net/mlx5: fix Rx CQ doorbell synchronization on aarch64
authorPhil Yang <phil.yang@arm.com>
Thu, 5 Sep 2019 10:55:07 +0000 (18:55 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 20 Sep 2019 08:19:41 +0000 (10:19 +0200)
commit94a24aaf6c5bd0a03c2828e7411d30a4fc0ac075
tree1a3cbb99c0c5f3a55d3877a286fa69fe94e5b277
parentb67b4ecbde22015b48d27d1ece9d05128666ad87
net/mlx5: fix Rx CQ doorbell synchronization on aarch64

The Rx completion queue doorbell field needs to be updated after
the last CQE decompressed. For the weaker memory model processors,
the compiler barrier is not sufficient to guarantee the order of
these operations, so use the coherent I/O memory barrier to make
sure these fields are updated in order.

Fixes: 570acdb1da8a ("net/mlx5: add vectorized Rx/Tx burst for ARM")
Cc: stable@dpdk.org
Suggested-by: Gavin Hu <gavin.hu@arm.com>
Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Matan Azrad <matan@mellanox.com>
drivers/net/mlx5/mlx5_rxtx_vec_neon.h