Commit 0fbee0ec authored by Dirk van der Merwe's avatar Dirk van der Merwe Committed by David S. Miller

nfp: devlink: add 'reset_dev_on_drv_probe' support

Add support for the 'reset_dev_on_drv_probe' devlink parameter. The
reset control policy is controlled by the 'abi_drv_reset' hwinfo key.
Signed-off-by: default avatarDirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: default avatarSimon Horman <simon.horman@netronome.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ff04788c
fw_load_policy [DEVICE, GENERIC]
Configuration mode: permanent
reset_dev_on_drv_probe [DEVICE, GENERIC]
Configuration mode: permanent
......@@ -52,6 +52,30 @@ static const struct nfp_devlink_param_u8_arg nfp_devlink_u8_args[] = {
.max_dl_val = DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK,
.max_hi_val = NFP_NSP_APP_FW_LOAD_PREF,
},
[DEVLINK_PARAM_GENERIC_ID_RESET_DEV_ON_DRV_PROBE] = {
.hwinfo_name = "abi_drv_reset",
.default_hi_val = NFP_NSP_DRV_RESET_DEFAULT,
.invalid_dl_val =
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN,
.hi_to_dl = {
[NFP_NSP_DRV_RESET_ALWAYS] =
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS,
[NFP_NSP_DRV_RESET_NEVER] =
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER,
[NFP_NSP_DRV_RESET_DISK] =
DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK,
},
.dl_to_hi = {
[DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS] =
NFP_NSP_DRV_RESET_ALWAYS,
[DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER] =
NFP_NSP_DRV_RESET_NEVER,
[DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK] =
NFP_NSP_DRV_RESET_DISK,
},
.max_dl_val = DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK,
.max_hi_val = NFP_NSP_DRV_RESET_NEVER,
}
};
static int
......@@ -172,6 +196,11 @@ static const struct devlink_param nfp_devlink_params[] = {
nfp_devlink_param_u8_get,
nfp_devlink_param_u8_set,
nfp_devlink_param_u8_validate),
DEVLINK_PARAM_GENERIC(RESET_DEV_ON_DRV_PROBE,
BIT(DEVLINK_PARAM_CMODE_PERMANENT),
nfp_devlink_param_u8_get,
nfp_devlink_param_u8_set,
nfp_devlink_param_u8_validate),
};
static int nfp_devlink_supports_params(struct nfp_pf *pf)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment