ice: add helper function to check FW API version
Several functions in ice_common.c check the firmware API version to see if the current API version meets some minimum requirement. Improve the readability of these checks by introducing ice_is_fw_api_min_ver, a helper function to perform that check. Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
committed by
Tony Nguyen
parent
0b57e0d442
commit
1bd50f2deb
@@ -5285,6 +5285,29 @@ ice_aq_get_gpio(struct ice_hw *hw, u16 gpio_ctrl_handle, u8 pin_idx,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_is_fw_api_min_ver
|
||||
* @hw: pointer to the hardware structure
|
||||
* @maj: major version
|
||||
* @min: minor version
|
||||
* @patch: patch version
|
||||
*
|
||||
* Checks if the firmware API is minimum version
|
||||
*/
|
||||
static bool ice_is_fw_api_min_ver(struct ice_hw *hw, u8 maj, u8 min, u8 patch)
|
||||
{
|
||||
if (hw->api_maj_ver == maj) {
|
||||
if (hw->api_min_ver > min)
|
||||
return true;
|
||||
if (hw->api_min_ver == min && hw->api_patch >= patch)
|
||||
return true;
|
||||
} else if (hw->api_maj_ver > maj) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_fw_supports_link_override
|
||||
* @hw: pointer to the hardware structure
|
||||
@@ -5293,17 +5316,9 @@ ice_aq_get_gpio(struct ice_hw *hw, u16 gpio_ctrl_handle, u8 pin_idx,
|
||||
*/
|
||||
bool ice_fw_supports_link_override(struct ice_hw *hw)
|
||||
{
|
||||
if (hw->api_maj_ver == ICE_FW_API_LINK_OVERRIDE_MAJ) {
|
||||
if (hw->api_min_ver > ICE_FW_API_LINK_OVERRIDE_MIN)
|
||||
return true;
|
||||
if (hw->api_min_ver == ICE_FW_API_LINK_OVERRIDE_MIN &&
|
||||
hw->api_patch >= ICE_FW_API_LINK_OVERRIDE_PATCH)
|
||||
return true;
|
||||
} else if (hw->api_maj_ver > ICE_FW_API_LINK_OVERRIDE_MAJ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return ice_is_fw_api_min_ver(hw, ICE_FW_API_LINK_OVERRIDE_MAJ,
|
||||
ICE_FW_API_LINK_OVERRIDE_MIN,
|
||||
ICE_FW_API_LINK_OVERRIDE_PATCH);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -5436,16 +5451,9 @@ bool ice_fw_supports_lldp_fltr_ctrl(struct ice_hw *hw)
|
||||
if (hw->mac_type != ICE_MAC_E810)
|
||||
return false;
|
||||
|
||||
if (hw->api_maj_ver == ICE_FW_API_LLDP_FLTR_MAJ) {
|
||||
if (hw->api_min_ver > ICE_FW_API_LLDP_FLTR_MIN)
|
||||
return true;
|
||||
if (hw->api_min_ver == ICE_FW_API_LLDP_FLTR_MIN &&
|
||||
hw->api_patch >= ICE_FW_API_LLDP_FLTR_PATCH)
|
||||
return true;
|
||||
} else if (hw->api_maj_ver > ICE_FW_API_LLDP_FLTR_MAJ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return ice_is_fw_api_min_ver(hw, ICE_FW_API_LLDP_FLTR_MAJ,
|
||||
ICE_FW_API_LLDP_FLTR_MIN,
|
||||
ICE_FW_API_LLDP_FLTR_PATCH);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -5482,14 +5490,7 @@ ice_lldp_fltr_add_remove(struct ice_hw *hw, u16 vsi_num, bool add)
|
||||
*/
|
||||
bool ice_fw_supports_report_dflt_cfg(struct ice_hw *hw)
|
||||
{
|
||||
if (hw->api_maj_ver == ICE_FW_API_REPORT_DFLT_CFG_MAJ) {
|
||||
if (hw->api_min_ver > ICE_FW_API_REPORT_DFLT_CFG_MIN)
|
||||
return true;
|
||||
if (hw->api_min_ver == ICE_FW_API_REPORT_DFLT_CFG_MIN &&
|
||||
hw->api_patch >= ICE_FW_API_REPORT_DFLT_CFG_PATCH)
|
||||
return true;
|
||||
} else if (hw->api_maj_ver > ICE_FW_API_REPORT_DFLT_CFG_MAJ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return ice_is_fw_api_min_ver(hw, ICE_FW_API_REPORT_DFLT_CFG_MAJ,
|
||||
ICE_FW_API_REPORT_DFLT_CFG_MIN,
|
||||
ICE_FW_API_REPORT_DFLT_CFG_PATCH);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user