Re: [PATCH v3 net-next 4/9] bnxt_en: Use ignore_ari devlink parameter

Vasundhara Volam
2018-10-01T10:45:06Z

On Sun, Sep 30, 2018 at 2:53 AM Or Gerlitz <gerlitz.or@gmail.com> wrote:
>
> On Fri, Sep 28, 2018 at 9:30 AM Vasundhara Volam
> <vasundhara-v.volam@broadcom.com> wrote:
> > This patch adds support for ignore_ari generic permanent mode
> > devlink parameter. This parameter is disabled by default. It can be
> > enabled using devlink param commands.
> >
> > ignore_ari - If enabled, device ignores ARI(Alternate Routing ID)
> > capability, even when platforms has the support and creates same number
> > of partitions when platform does not support ARI capability.
>
> why you want to ignore that?
In some Dell platforms, we don't want our adapter to create more number of
functions even when ARI is enabled.
>
>
> >
> > Cc: Michael Chan <michael.chan@broadcom.com>
> > Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
> > ---
> > drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 6 ++++++
> > drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h | 2 ++
> > 2 files changed, 8 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> > index 790c684..5173881 100644
> > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
> > @@ -24,6 +24,8 @@
> > static const struct bnxt_dl_nvm_param nvm_params[] = {
> > {DEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV, NVM_OFF_ENABLE_SRIOV,
> > BNXT_NVM_SHARED_CFG, 1},
> > + {DEVLINK_PARAM_GENERIC_ID_IGNORE_ARI, NVM_OFF_IGNORE_ARI,
> > + BNXT_NVM_SHARED_CFG, 1},
> > };
> >
> > static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
> > @@ -108,6 +110,10 @@ static int bnxt_dl_nvm_param_set(struct devlink *dl, u32 id,
> > BIT(DEVLINK_PARAM_CMODE_PERMANENT),
> > bnxt_dl_nvm_param_get, bnxt_dl_nvm_param_set,
> > NULL),
> > + DEVLINK_PARAM_GENERIC(IGNORE_ARI,
> > + BIT(DEVLINK_PARAM_CMODE_PERMANENT),
> > + bnxt_dl_nvm_param_get, bnxt_dl_nvm_param_set,
> > + NULL),
> > };
> >
> > int bnxt_dl_register(struct bnxt *bp)
> > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h
> > index 2f68dc0..da146492 100644
> > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h
> > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h
> > @@ -33,6 +33,8 @@ static inline void bnxt_link_bp_to_dl(struct bnxt *bp, struct devlink *dl)
> > }
> > }
> >
> > +#define NVM_OFF_IGNORE_ARI 164
>
> > +#define NVM_OFF_HW_TC_OFFLOAD 170
>
> what is this (on/off for TC offloads?) and how it's related to ARI?
This was a mistake carried, I will remove it in next version. Thanks
>
> > #define NVM_OFF_ENABLE_SRIOV 401