[dpdk-dev] [PATCH v5 4/5] net/i40e: add firmware version get
Stephen Hemminger
stephen at networkplumber.org
Mon Jan 9 00:08:48 CET 2017
On Sun, 8 Jan 2017 12:11:34 +0800
Qiming Yang <qiming.yang at intel.com> wrote:
> static void
> +i40e_fw_version_get(struct rte_eth_dev *dev, char *fw_version, int fw_length)
> +{
> + struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> +
> + snprintf(fw_version, fw_length,
> + "%d.%d%d 0x%08x",
> + ((hw->nvm.version >> 12) & 0xf),
> + ((hw->nvm.version >> 4) & 0xff),
> + (hw->nvm.version & 0xf), hw->nvm.eetrack);
It would be good to have same constants and format between Linux kernel
driver and DPDK.
Use %u as format specifier for unsigned values
static inline char *i40e_nvm_version_str(struct i40e_hw *hw)
{
static char buf[32];
u32 full_ver;
u8 ver, patch;
u16 build;
full_ver = hw->nvm.oem_ver;
ver = (u8)(full_ver >> I40E_OEM_VER_SHIFT);
build = (u16)((full_ver >> I40E_OEM_VER_BUILD_SHIFT) &
I40E_OEM_VER_BUILD_MASK);
patch = (u8)(full_ver & I40E_OEM_VER_PATCH_MASK);
snprintf(buf, sizeof(buf),
"%x.%02x 0x%x %d.%d.%d",
(hw->nvm.version & I40E_NVM_VERSION_HI_MASK) >>
I40E_NVM_VERSION_HI_SHIFT,
(hw->nvm.version & I40E_NVM_VERSION_LO_MASK) >>
I40E_NVM_VERSION_LO_SHIFT,
hw->nvm.eetrack, ver, build, patch);
More information about the dev
mailing list