Messages in this thread | | | Date | Tue, 24 Oct 2023 12:24:08 +0200 | Subject | Re: [Intel-wired-lan] [PATCH iwl-next 2/3] i40e: Add other helpers to check version of running firmware and AQ API | From | Wojciech Drewek <> |
| |
On 23.10.2023 18:29, Ivan Vecera wrote: > Add another helper functions that will be used by subsequent > patch to refactor existing open-coded checks whether the version > of running firmware and AdminQ API is recent enough to provide > certain capabilities. > > Signed-off-by: Ivan Vecera <ivecera@redhat.com> > --- > drivers/net/ethernet/intel/i40e/i40e_type.h | 54 +++++++++++++++++++++ > 1 file changed, 54 insertions(+) > > diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h > index 050d479aeed3..bb62c14aa3d4 100644 > --- a/drivers/net/ethernet/intel/i40e/i40e_type.h > +++ b/drivers/net/ethernet/intel/i40e/i40e_type.h > @@ -608,6 +608,60 @@ static inline bool i40e_is_aq_api_ver_ge(struct i40e_hw *hw, u16 maj, u16 min) > (hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min)); > } > > +/** > + * i40e_is_aq_api_ver_lt > + * @hw: pointer to i40e_hw structure > + * @maj: API major value to compare > + * @min: API minor value to compare > + * > + * Assert whether current HW API version is less than provided. > + **/ > +static inline bool i40e_is_aq_api_ver_lt(struct i40e_hw *hw, u16 maj, u16 min) > +{ > + return !i40e_is_aq_api_ver_ge(hw, maj, min); > +}
It feels a bit off to have those helpers in i40e_type.h. We don't have i40e_common.h though so I'd move them to i40e_prototype.h or i40e.h. Same comment regarding 1st patch (I know I gave it my tag but I spotted the issue while reading the 2nd patch).
> + > +/** > + * i40e_is_fw_ver_ge > + * @hw: pointer to i40e_hw structure > + * @maj: API major value to compare > + * @min: API minor value to compare > + * > + * Assert whether current firmware version is greater/equal than provided. > + **/ > +static bool inline i40e_is_fw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min) > +{ > + return (hw->aq.fw_maj_ver > maj || > + (hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver >= min)); > +} > + > +/** > + * i40e_is_fw_ver_lt > + * @hw: pointer to i40e_hw structure > + * @maj: API major value to compare > + * @min: API minor value to compare > + * > + * Assert whether current firmware version is less than provided. > + **/ > +static bool inline i40e_is_fw_ver_lt(struct i40e_hw *hw, u16 maj, u16 min) > +{ > + return !i40e_is_fw_ver_ge(hw, maj, min); > +} > + > +/** > + * i40e_is_fw_ver_eq > + * @hw: pointer to i40e_hw structure > + * @maj: API major value to compare > + * @min: API minor value to compare > + * > + * Assert whether current firmware version is equal to provided. > + **/ > +static bool inline i40e_is_fw_ver_eq(struct i40e_hw *hw, u16 maj, u16 min) > +{ > + return (hw->aq.fw_maj_ver > maj || > + (hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver == min)); > +} > + > struct i40e_driver_version { > u8 major_version; > u8 minor_version;
| |