From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Mody, Rasesh" Subject: [PATCH 06/18] net/qede/base: add mf-bit/API for FIP special mode Date: Sat, 29 Sep 2018 08:14:30 +0000 Message-ID: <1538208822-9726-7-git-send-email-rasesh.mody@cavium.com> References: <1538208822-9726-1-git-send-email-rasesh.mody@cavium.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "Mody, Rasesh" , "ferruh.yigit@intel.com" , Dept-Eng DPDK Dev To: "dev@dpdk.org" Return-path: Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690074.outbound.protection.outlook.com [40.107.69.74]) by dpdk.org (Postfix) with ESMTP id A85927EE3 for ; Sat, 29 Sep 2018 10:14:37 +0200 (CEST) In-Reply-To: <1538208822-9726-1-git-send-email-rasesh.mody@cavium.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add mf-bit/API for FIP special mode. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 3 +++ drivers/net/qede/base/ecore_dev.c | 8 +++++++- drivers/net/qede/base/ecore_dev_api.h | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/net/qede/base/ecore.h b/drivers/net/qede/base/ecore.h index 4607a80..b9f5993 100644 --- a/drivers/net/qede/base/ecore.h +++ b/drivers/net/qede/base/ecore.h @@ -543,6 +543,9 @@ enum ecore_mf_mode_bit { =20 /* Use stag for steering */ ECORE_MF_8021AD_TAGGING, + + /* Allow FIP discovery fallback */ + ECORE_MF_FIP_SPECIAL, }; =20 enum ecore_ufp_mode { diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecor= e_dev.c index 4558306..da312b4 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -3704,7 +3704,8 @@ static enum _ecore_status_t ecore_hw_get_resc(struct = ecore_hwfn *p_hwfn, case NVM_CFG1_GLOB_MF_MODE_BD: p_hwfn->p_dev->mf_bits =3D 1 << ECORE_MF_OVLAN_CLSS | 1 << ECORE_MF_LLH_PROTO_CLSS | - 1 << ECORE_MF_8021AD_TAGGING; + 1 << ECORE_MF_8021AD_TAGGING | + 1 << ECORE_MF_FIP_SPECIAL; break; case NVM_CFG1_GLOB_MF_MODE_NPAR1_0: p_hwfn->p_dev->mf_bits =3D 1 << ECORE_MF_LLH_MAC_CLSS | @@ -5804,3 +5805,8 @@ void ecore_set_fw_mac_addr(__le16 *fw_msb, ((u8 *)fw_lsb)[0] =3D mac[5]; ((u8 *)fw_lsb)[1] =3D mac[4]; } + +bool ecore_is_mf_fip_special(struct ecore_dev *p_dev) +{ + return !!OSAL_TEST_BIT(ECORE_MF_FIP_SPECIAL, &p_dev->mf_bits); +} diff --git a/drivers/net/qede/base/ecore_dev_api.h b/drivers/net/qede/base/= ecore_dev_api.h index 7cba54c..ab80b52 100644 --- a/drivers/net/qede/base/ecore_dev_api.h +++ b/drivers/net/qede/base/ecore_dev_api.h @@ -704,4 +704,13 @@ enum _ecore_status_t enum _ecore_status_t ecore_pglueb_set_pfid_enable(struct ecore_hwfn *p_hwf= n, struct ecore_ptt *p_ptt, bool b_enable); + +/** + * @brief Whether FIP discovery fallback special mode is enabled or not. + * + * @param cdev + * + * @return true if device is in FIP special mode, false otherwise. + */ +bool ecore_is_mf_fip_special(struct ecore_dev *p_dev); #endif --=20 1.7.10.3