update i40e base code. source code of i40e driver: cid-i40e.2020.07.16.tar.gz released by the team which develop basic drivers for any i40e NIC. changelog in ND share repo: From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") To 673ff35c1c73 ("i40e-shared: Add support for firmware lockdown") The following commits are ignored as no use in this release. ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() function") 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic context") a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic context") d22f8cb2a111 ("i40e-shared: Send commands in atomic context") 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") Guinan Sun (8): net/i40e/base: enable FEC on/off flag setting for X722 net/i40e/base: add PTYPE definition net/i40e/base: enable new custom cloud filters net/i40e/base: update FVL FW API version to 1.11 net/i40e/base: check return value of DNL admin command net/i40e/base: add disable unused ports capability net/i40e/base: replace AQ command for NVM update net/i40e/base: update version drivers/net/i40e/base/README | 2 +- drivers/net/i40e/base/i40e_adminq.c | 6 +++ drivers/net/i40e/base/i40e_adminq_cmd.h | 19 +++++++- drivers/net/i40e/base/i40e_common.c | 61 +++++++++++++++---------- drivers/net/i40e/base/i40e_prototype.h | 6 ++- drivers/net/i40e/base/i40e_type.h | 5 +- 6 files changed, 70 insertions(+), 29 deletions(-) -- 2.17.1
Starting with API version 1.10 firmware for X722 devices has ability to change FEC settings in PHY. Code added in this patch checks API version and sets appropriate capability flag. Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq.c | 6 ++++++ drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ drivers/net/i40e/base/i40e_type.h | 1 + 3 files changed, 9 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index c89e1fb3f..0da45f03e 100644 --- a/drivers/net/i40e/base/i40e_adminq.c +++ b/drivers/net/i40e/base/i40e_adminq.c @@ -603,6 +603,12 @@ STATIC void i40e_set_hw_flags(struct i40e_hw *hw) (aq->api_maj_ver == 1 && aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_X722)) hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE; + + if (aq->api_maj_ver > 1 || + (aq->api_maj_ver == 1 && + aq->api_min_ver >= I40E_MINOR_VER_FW_REQUEST_FEC_X722)) + hw->flags |= I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE; + /* fall through */ default: break; diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 1905167f5..f790183be 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -25,6 +25,8 @@ #define I40E_MINOR_VER_GET_LINK_INFO_X722 0x0009 /* API version 1.6 for X722 devices adds ability to stop FW LLDP agent */ #define I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722 0x0006 +/* API version 1.10 for X722 devices adds ability to request FEC encoding */ +#define I40E_MINOR_VER_FW_REQUEST_FEC_X722 0x000A struct i40e_aq_desc { __le16 flags; diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 014a4c132..b5b5b928d 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -745,6 +745,7 @@ struct i40e_hw { #define I40E_HW_FLAG_FW_LLDP_PERSISTENT BIT_ULL(5) #define I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED BIT_ULL(6) #define I40E_HW_FLAG_DROP_MODE BIT_ULL(7) +#define I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE BIT_ULL(8) u64 flags; /* Used in set switch config AQ command */ -- 2.17.1
update i40e base code. source code of i40e driver: cid-i40e.2020.07.16.tar.gz dropped by the team which develop basic drivers for any i40e NIC. changelog in ND share repo: From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") To 673ff35c1c73 ("i40e-shared: Add support for firmware lockdown") The following commits are ignored. ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() function") 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic context") a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic context") d22f8cb2a111 ("i40e-shared: Send commands in atomic context") 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") Guinan Sun (8): net/i40e/base: enable FEC on/off flag setting for X722 net/i40e/base: add PTYPE definition net/i40e/base: enable new custom cloud filters net/i40e/base: update FVL FW API version to 1.11 net/i40e/base: check return value of DNL admin command net/i40e/base: add disable unused ports capability net/i40e/base: replace AQ command for NVM update net/i40e/base: update version drivers/net/i40e/base/README | 2 +- drivers/net/i40e/base/i40e_adminq.c | 6 +++ drivers/net/i40e/base/i40e_adminq_cmd.h | 19 +++++++- drivers/net/i40e/base/i40e_common.c | 61 +++++++++++++++---------- drivers/net/i40e/base/i40e_prototype.h | 6 ++- drivers/net/i40e/base/i40e_type.h | 5 +- 6 files changed, 70 insertions(+), 29 deletions(-) -- 2.17.1