[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