mirror of https://gitee.com/openkylin/linux.git
i40e: Fix an incorrect OEM version string
This patch fixes a problem where the driver output of the OEM version string varied from the other tools. The mask value and the order of operations were incorrect, per the original change request. Without this patch, the version string will appear incorrect from the driver. Change-ID: Ie1ca6485284b4ce3b57e5a99b18b7641617c7ef7 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
58fc3267f1
commit
2efaad86b5
|
@ -109,8 +109,10 @@
|
|||
#define I40E_NVM_VERSION_LO_MASK (0xff << I40E_NVM_VERSION_LO_SHIFT)
|
||||
#define I40E_NVM_VERSION_HI_SHIFT 12
|
||||
#define I40E_NVM_VERSION_HI_MASK (0xf << I40E_NVM_VERSION_HI_SHIFT)
|
||||
#define I40E_OEM_VER_BUILD_MASK 0xff00
|
||||
#define I40E_OEM_VER_BUILD_MASK 0xffff
|
||||
#define I40E_OEM_VER_PATCH_MASK 0xff
|
||||
#define I40E_OEM_VER_BUILD_SHIFT 8
|
||||
#define I40E_OEM_VER_SHIFT 24
|
||||
|
||||
/* The values in here are decimal coded as hex as is the case in the NVM map*/
|
||||
#define I40E_CURRENT_NVM_VERSION_HI 0x2
|
||||
|
@ -594,6 +596,15 @@ struct i40e_device {
|
|||
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",
|
||||
|
@ -601,9 +612,7 @@ static inline char *i40e_nvm_version_str(struct i40e_hw *hw)
|
|||
I40E_NVM_VERSION_HI_SHIFT,
|
||||
(hw->nvm.version & I40E_NVM_VERSION_LO_MASK) >>
|
||||
I40E_NVM_VERSION_LO_SHIFT,
|
||||
hw->nvm.eetrack, (hw->nvm.oem_ver >> 24),
|
||||
(hw->nvm.oem_ver & I40E_OEM_VER_BUILD_MASK) >> 8,
|
||||
hw->nvm.oem_ver & I40E_OEM_VER_PATCH_MASK);
|
||||
hw->nvm.eetrack, ver, build, patch);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue