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: Dirk van der Merwe <dirk.vandermerwe@netronome.com> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: Simon Horman <simon.horman@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ff04788c5b
commit
0fbee0ec1f
|
@ -1,2 +1,5 @@
|
||||||
fw_load_policy [DEVICE, GENERIC]
|
fw_load_policy [DEVICE, GENERIC]
|
||||||
Configuration mode: permanent
|
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_dl_val = DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK,
|
||||||
.max_hi_val = NFP_NSP_APP_FW_LOAD_PREF,
|
.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
|
static int
|
||||||
|
@ -172,6 +196,11 @@ static const struct devlink_param nfp_devlink_params[] = {
|
||||||
nfp_devlink_param_u8_get,
|
nfp_devlink_param_u8_get,
|
||||||
nfp_devlink_param_u8_set,
|
nfp_devlink_param_u8_set,
|
||||||
nfp_devlink_param_u8_validate),
|
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)
|
static int nfp_devlink_supports_params(struct nfp_pf *pf)
|
||||||
|
|
Loading…
Reference in New Issue