net/ice/base: add function to get FW mode
Add a helper function to get FW mode. The FW mode can be normal, debug, recovery or rollback. This makes ice_is_fw_in_rec_mode redundant, so remove it. Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
This commit is contained in:
parent
4b6e8c03be
commit
6277fc33e2
@ -4102,16 +4102,25 @@ ice_sched_query_elem(struct ice_hw *hw, u32 node_teid,
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_is_fw_in_rec_mode
|
||||
* ice_get_fw_mode - returns FW mode
|
||||
* @hw: pointer to the HW struct
|
||||
*
|
||||
* This function returns true if fw is in recovery mode
|
||||
*/
|
||||
bool ice_is_fw_in_rec_mode(struct ice_hw *hw)
|
||||
enum ice_fw_modes ice_get_fw_mode(struct ice_hw *hw)
|
||||
{
|
||||
u32 reg;
|
||||
#define ICE_FW_MODE_DBG_M BIT(0)
|
||||
#define ICE_FW_MODE_REC_M BIT(1)
|
||||
#define ICE_FW_MODE_ROLLBACK_M BIT(2)
|
||||
u32 fw_mode;
|
||||
|
||||
/* check the current FW mode */
|
||||
reg = rd32(hw, GL_MNG_FWSM);
|
||||
return (reg & GL_MNG_FWSM_FW_MODES_M) > ICE_FW_MODE_DBG;
|
||||
fw_mode = rd32(hw, GL_MNG_FWSM) & GL_MNG_FWSM_FW_MODES_M;
|
||||
|
||||
if (fw_mode & ICE_FW_MODE_DBG_M)
|
||||
return ICE_FW_MODE_DBG;
|
||||
else if (fw_mode & ICE_FW_MODE_REC_M)
|
||||
return ICE_FW_MODE_REC;
|
||||
else if (fw_mode & ICE_FW_MODE_ROLLBACK_M)
|
||||
return ICE_FW_MODE_ROLLBACK;
|
||||
else
|
||||
return ICE_FW_MODE_NORMAL;
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ enum ice_fw_modes {
|
||||
ICE_FW_MODE_NORMAL,
|
||||
ICE_FW_MODE_DBG,
|
||||
ICE_FW_MODE_REC,
|
||||
ICE_FW_MODE_DBG_REC
|
||||
ICE_FW_MODE_ROLLBACK
|
||||
};
|
||||
|
||||
enum ice_status ice_nvm_validate_checksum(struct ice_hw *hw);
|
||||
@ -198,8 +198,8 @@ ice_stat_update40(struct ice_hw *hw, u32 reg, bool prev_stat_loaded,
|
||||
void
|
||||
ice_stat_update32(struct ice_hw *hw, u32 reg, bool prev_stat_loaded,
|
||||
u64 *prev_stat, u64 *cur_stat);
|
||||
enum ice_fw_modes ice_get_fw_mode(struct ice_hw *hw);
|
||||
enum ice_status
|
||||
ice_sched_query_elem(struct ice_hw *hw, u32 node_teid,
|
||||
struct ice_aqc_get_elem *buf);
|
||||
bool ice_is_fw_in_rec_mode(struct ice_hw *hw);
|
||||
#endif /* _ICE_COMMON_H_ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user