diff options
author | Edwin Peer <edwin.peer@broadcom.com> | 2021-10-29 03:47:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-10-29 12:13:05 +0100 |
commit | 892a662f04736ba40e241c794b15f1b2ee489dc3 (patch) | |
tree | 214f68b07c60cece732c78028bfe3e03ace31377 /drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h | |
parent | 8f6c5e4d1470499b8feff98353eb2920bd81635a (diff) |
bnxt_en: add enable_remote_dev_reset devlink parameter
The reported parameter value should not take into account the state
of remote drivers. Firmware will reject remote resets as appropriate,
thus it is not strictly necessary to check HOT_RESET_ALLOWED before
attempting to initiate a reset. But we add the check so that we can
provide more intuitive messages when reset is not permitted.
This firmware setting needs to be restored from all functions after
a firmware reset.
Signed-off-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h index a189cfe1e441..456e18c4badf 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h @@ -13,6 +13,7 @@ /* Struct to hold housekeeping info needed by devlink interface */ struct bnxt_dl { struct bnxt *bp; /* back ptr to the controlling dev */ + bool remote_reset; }; static inline struct bnxt *bnxt_get_bp_from_dl(struct devlink *dl) @@ -27,6 +28,16 @@ static inline void bnxt_dl_remote_reload(struct bnxt *bp) BIT(DEVLINK_RELOAD_ACTION_FW_ACTIVATE)); } +static inline bool bnxt_dl_get_remote_reset(struct devlink *dl) +{ + return ((struct bnxt_dl *)devlink_priv(dl))->remote_reset; +} + +static inline void bnxt_dl_set_remote_reset(struct devlink *dl, bool value) +{ + ((struct bnxt_dl *)devlink_priv(dl))->remote_reset = value; +} + #define NVM_OFF_MSIX_VEC_PER_PF_MAX 108 #define NVM_OFF_MSIX_VEC_PER_PF_MIN 114 #define NVM_OFF_IGNORE_ARI 164 |