net/i40e: support ARM platform

And add read memory barrier to avoid status inconsistency
between two Rx descriptors readings.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
Jianbo Liu 2016-08-05 14:36:23 +05:30 committed by Bruce Richardson
parent a787f7e69f
commit 7b0cf70135
3 changed files with 4 additions and 1 deletions

View File

@ -45,6 +45,6 @@ CONFIG_RTE_TOOLCHAIN_GCC=y
CONFIG_RTE_EAL_IGB_UIO=n
CONFIG_RTE_LIBRTE_FM10K_PMD=n
CONFIG_RTE_LIBRTE_I40E_PMD=n
CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=n
CONFIG_RTE_SCHED_VECTOR=n

View File

@ -45,3 +45,4 @@ Linux UIO = Y
Linux VFIO = Y
x86-32 = Y
x86-64 = Y
ARMv8 = Y

View File

@ -994,6 +994,8 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq)
I40E_RXD_QW1_STATUS_SHIFT;
}
rte_smp_rmb();
/* Compute how many status bits were set */
for (j = 0, nb_dd = 0; j < I40E_LOOK_AHEAD; j++)
nb_dd += s[j] & (1 << I40E_RX_DESC_STATUS_DD_SHIFT);