net/i40e: support ARM platform
authorJianbo Liu <jianbo.liu@linaro.org>
Fri, 5 Aug 2016 09:06:23 +0000 (14:36 +0530)
committerBruce Richardson <bruce.richardson@intel.com>
Fri, 30 Sep 2016 10:27:18 +0000 (12:27 +0200)
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>
config/defconfig_arm64-armv8a-linuxapp-gcc
doc/guides/nics/features/i40e.ini
drivers/net/i40e/i40e_rxtx.c

index 73f4733..a0f4473 100644 (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
index fb3fb60..0d143bc 100644 (file)
@@ -45,3 +45,4 @@ Linux UIO            = Y
 Linux VFIO           = Y
 x86-32               = Y
 x86-64               = Y
+ARMv8                = Y
index 0556a4d..bbaf513 100644 (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);