From: Beilei Xing Date: Tue, 18 Jul 2017 03:07:07 +0000 (+0800) Subject: net/i40e: fix ethertype filter for new FW X-Git-Tag: spdx-start~2439 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=77370db964f7d8a58f5914b1b805e6b093107d59;p=dpdk.git net/i40e: fix ethertype filter for new FW Previously SW workaround for GL_SWR_PRI_JOIN_MAP is added for X710 performance. As new FW version 6.0 supports ADQ, value for GL_SWR_PRI_JOIN_MAP should be changed, otherwise ehtertype filter will be impacted. Fixes: 973273c7a4b7 ("i40e: workaround for X710 performance") Cc: stable@dpdk.org Signed-off-by: Beilei Xing --- diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 0f6981064e..306988a8a1 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -9223,8 +9223,9 @@ i40e_pctype_to_flowtype(enum i40e_filter_pctype pctype) */ /* For both X710 and XL710 */ -#define I40E_GL_SWR_PRI_JOIN_MAP_0_VALUE 0x10000200 -#define I40E_GL_SWR_PRI_JOIN_MAP_0 0x26CE00 +#define I40E_GL_SWR_PRI_JOIN_MAP_0_VALUE_1 0x10000200 +#define I40E_GL_SWR_PRI_JOIN_MAP_0_VALUE_2 0x20000200 +#define I40E_GL_SWR_PRI_JOIN_MAP_0 0x26CE00 #define I40E_GL_SWR_PRI_JOIN_MAP_2_VALUE 0x011f0200 #define I40E_GL_SWR_PRI_JOIN_MAP_2 0x26CE08 @@ -9279,8 +9280,12 @@ i40e_configure_registers(struct i40e_hw *hw) reg_table[i].val = I40E_X722_GL_SWR_PRI_JOIN_MAP_0_VALUE; else /* For X710/XL710/XXV710 */ - reg_table[i].val = - I40E_GL_SWR_PRI_JOIN_MAP_0_VALUE; + if (hw->aq.fw_maj_ver < 6) + reg_table[i].val = + I40E_GL_SWR_PRI_JOIN_MAP_0_VALUE_1; + else + reg_table[i].val = + I40E_GL_SWR_PRI_JOIN_MAP_0_VALUE_2; } if (reg_table[i].addr == I40E_GL_SWR_PRI_JOIN_MAP_2) {