From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wu, Jingjing" Subject: Re: [PATCH v2 05/33] i40e/base: support of building both PF and VF driver together Date: Fri, 8 May 2015 03:25:59 +0000 Message-ID: <9BB6961774997848B5B42BEC655768F8C183CD@SHSMSX104.ccr.corp.intel.com> References: <1429518150-28098-1-git-send-email-helin.zhang@intel.com> <1430406219-23901-1-git-send-email-helin.zhang@intel.com> <1430406219-23901-6-git-send-email-helin.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "Kenguva, Monica" , "Murray, Steven J" , "Nelson, Shannon" To: "Zhang, Helin" , "dev-VfR2kkLFssw@public.gmane.org" Return-path: In-Reply-To: <1430406219-23901-6-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Content-Language: en-US List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Acked-by: Jingjing Wu > -----Original Message----- > From: Zhang, Helin > Sent: Thursday, April 30, 2015 11:03 PM > To: dev-VfR2kkLFssw@public.gmane.org > Cc: Cao, Min; Xu, Qian Q; Wu, Jingjing; Liu, Jijiang; Kenguva, Monica; Pa= tel, > Rashmin N; Murray, Steven J; Nelson, Shannon; Zhang, Helin > Subject: [PATCH v2 05/33] i40e/base: support of building both PF and VF > driver together >=20 > Macros of PF_DRIVER, VF_DRIVER and INTEGRATED_VF were defined to > support building both PF and VF driver together. PF_DRIVER needs to be > defined if a build is for PF only, while VF_DRIVER for VF only. PF_DRIVER= , > VF_DRIVER and INTEGRATED_VF are all needed for building both PF and VF > driver together. >=20 > Signed-off-by: Helin Zhang > --- > lib/librte_pmd_i40e/Makefile | 2 +- > lib/librte_pmd_i40e/i40e/i40e_adminq.c | 20 ++++++++++---------- > lib/librte_pmd_i40e/i40e/i40e_common.c | 6 ++++-- > lib/librte_pmd_i40e/i40e/i40e_prototype.h | 4 ++-- > 4 files changed, 17 insertions(+), 15 deletions(-) >=20 > diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile > index 86be3f7..75b5120 100644 > --- a/lib/librte_pmd_i40e/Makefile > +++ b/lib/librte_pmd_i40e/Makefile > @@ -37,7 +37,7 @@ include $(RTE_SDK)/mk/rte.vars.mk LIB =3D > librte_pmd_i40e.a >=20 > CFLAGS +=3D -O3 > -CFLAGS +=3D $(WERROR_FLAGS) > +CFLAGS +=3D $(WERROR_FLAGS) -DPF_DRIVER -DVF_DRIVER - > DINTEGRATED_VF >=20 > EXPORT_MAP :=3D rte_pmd_i40e_version.map >=20 > diff --git a/lib/librte_pmd_i40e/i40e/i40e_adminq.c > b/lib/librte_pmd_i40e/i40e/i40e_adminq.c > index e8e762f..bbc6b65 100644 > --- a/lib/librte_pmd_i40e/i40e/i40e_adminq.c > +++ b/lib/librte_pmd_i40e/i40e/i40e_adminq.c > @@ -37,7 +37,7 @@ POSSIBILITY OF SUCH DAMAGE. > #include "i40e_adminq.h" > #include "i40e_prototype.h" >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER > /** > * i40e_is_nvm_update_op - return true if this is an NVM update operatio= n > * @desc: API request descriptor > @@ -48,7 +48,7 @@ STATIC INLINE bool i40e_is_nvm_update_op(struct > i40e_aq_desc *desc) > desc->opcode =3D=3D > CPU_TO_LE16(i40e_aqc_opc_nvm_update)); > } >=20 > -#endif /* VF_DRIVER */ > +#endif /* PF_DRIVER */ > /** > * i40e_adminq_init_regs - Initialize AdminQ registers > * @hw: pointer to the hardware structure @@ -559,7 +559,7 @@ enum > i40e_status_code i40e_shutdown_arq(struct i40e_hw *hw) enum > i40e_status_code i40e_init_adminq(struct i40e_hw *hw) { > enum i40e_status_code ret_code; > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER > u16 eetrack_lo, eetrack_hi; > int retry =3D 0; > #endif > @@ -593,7 +593,7 @@ enum i40e_status_code i40e_init_adminq(struct > i40e_hw *hw) > if (ret_code !=3D I40E_SUCCESS) > goto init_adminq_free_asq; >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER > /* There are some cases where the firmware may not be quite > ready > * for AdminQ operations, so we retry the AdminQ setup a few times > * if we see timeouts in this first AQ call. > @@ -633,13 +633,13 @@ enum i40e_status_code i40e_init_adminq(struct > i40e_hw *hw) >=20 > I40E_HMC_PROFILE_DEFAULT, > 0, > NULL); > +#endif /* PF_DRIVER */ > ret_code =3D I40E_SUCCESS; >=20 > -#endif /* VF_DRIVER */ > /* success! */ > goto init_adminq_exit; >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER > init_adminq_free_arq: > i40e_shutdown_arq(hw); > #endif > @@ -772,7 +772,7 @@ enum i40e_status_code > i40e_asq_send_command(struct i40e_hw *hw, > goto asq_send_command_exit; > } >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER > if (i40e_is_nvm_update_op(desc) && hw->aq.nvm_busy) { > i40e_debug(hw, I40E_DEBUG_AQ_MESSAGE, "AQTX: NVM > busy.\n"); > status =3D I40E_ERR_NVM; > @@ -931,11 +931,11 @@ enum i40e_status_code > i40e_asq_send_command(struct i40e_hw *hw, > status =3D I40E_ERR_ADMIN_QUEUE_TIMEOUT; > } >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER > if (!status && i40e_is_nvm_update_op(desc)) > hw->aq.nvm_busy =3D true; >=20 > -#endif /* VF_DRIVER */ > +#endif /* PF_DRIVER */ > asq_send_command_error: > i40e_release_spinlock(&hw->aq.asq_spinlock); > asq_send_command_exit: > @@ -1053,7 +1053,7 @@ clean_arq_element_out: > *pending =3D (ntc > ntu ? hw->aq.arq.count : 0) + (ntu - ntc); > i40e_release_spinlock(&hw->aq.arq_spinlock); >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER > if (i40e_is_nvm_update_op(&e->desc)) { > hw->aq.nvm_busy =3D false; > if (hw->aq.nvm_release_on_done) { > diff --git a/lib/librte_pmd_i40e/i40e/i40e_common.c > b/lib/librte_pmd_i40e/i40e/i40e_common.c > index 23f14c1..491ffa8 100644 > --- a/lib/librte_pmd_i40e/i40e/i40e_common.c > +++ b/lib/librte_pmd_i40e/i40e/i40e_common.c > @@ -43,7 +43,7 @@ POSSIBILITY OF SUCH DAMAGE. > * This function sets the mac type of the adapter based on the > * vendor ID and device ID stored in the hw structure. > **/ > -#ifdef VF_DRIVER > +#if defined(INTEGRATED_VF) || defined(VF_DRIVER) > enum i40e_status_code i40e_set_mac_type(struct i40e_hw *hw) #else > STATIC enum i40e_status_code i40e_set_mac_type(struct i40e_hw *hw) > @@ -547,7 +547,7 @@ struct i40e_rx_ptype_decoded i40e_ptype_lookup[] > =3D { > I40E_PTT_UNUSED_ENTRY(255) > }; >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER >=20 > /** > * i40e_init_shared_code - Initialize the shared code @@ -4692,6 +4692,8 > @@ enum i40e_status_code i40e_aq_configure_partition_bw(struct > i40e_hw *hw, >=20 > return status; > } > +#endif /* PF_DRIVER */ > +#ifdef VF_DRIVER >=20 > /** > * i40e_aq_send_msg_to_pf > diff --git a/lib/librte_pmd_i40e/i40e/i40e_prototype.h > b/lib/librte_pmd_i40e/i40e/i40e_prototype.h > index 24e8d21..979adb9 100644 > --- a/lib/librte_pmd_i40e/i40e/i40e_prototype.h > +++ b/lib/librte_pmd_i40e/i40e/i40e_prototype.h > @@ -77,7 +77,7 @@ void i40e_resume_aq(struct i40e_hw *hw); bool > i40e_check_asq_alive(struct i40e_hw *hw); enum i40e_status_code > i40e_aq_queue_shutdown(struct i40e_hw *hw, bool unloading); >=20 > -#ifndef VF_DRIVER > +#ifdef PF_DRIVER >=20 > u32 i40e_led_get(struct i40e_hw *hw); > void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink); @@ -392,7 > +392,7 @@ enum i40e_status_code i40e_nvmupd_command(struct > i40e_hw *hw, > struct i40e_nvm_access *cmd, > u8 *bytes, int *); > void i40e_set_pci_config_data(struct i40e_hw *hw, u16 link_status); -#en= dif > /* VF_DRIVER */ > +#endif /* PF_DRIVER */ >=20 > #if defined(I40E_QV) || defined(VF_DRIVER) enum i40e_status_code > i40e_set_mac_type(struct i40e_hw *hw); > -- > 1.8.1.4