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

Or Gerlitz
2018-09-30T03:53:05Z

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?

>
> 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?

> #define NVM_OFF_ENABLE_SRIOV 401