diff options
author | Carolyn Wyborny <carolyn.wyborny@intel.com> | 2012-10-23 09:04:37 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2012-11-01 05:35:52 -0400 |
commit | 09e77287e752c8fc9743d865ddadc1a0d81a4927 (patch) | |
tree | f86cf9a83520ce45bbc9e06adf817cf68b372af6 /drivers/net/ethernet/intel/igb/e1000_i210.h | |
parent | 40b20122f92b9e29d7770c12eb58b3a30e1cce33 (diff) |
igb: Add function to read i211's invm version
The i211's one-time programmable (invm) version field is different than the
other fields contained in it. This patch adds a function to get the invm version
of it and store it for output from ethtool.
Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/e1000_i210.h')
-rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_i210.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_i210.h b/drivers/net/ethernet/intel/igb/e1000_i210.h index 5dc2bd3f50bc..974d23584d70 100644 --- a/drivers/net/ethernet/intel/igb/e1000_i210.h +++ b/drivers/net/ethernet/intel/igb/e1000_i210.h | |||
@@ -43,6 +43,8 @@ extern void igb_release_nvm_i210(struct e1000_hw *hw); | |||
43 | extern s32 igb_valid_led_default_i210(struct e1000_hw *hw, u16 *data); | 43 | extern s32 igb_valid_led_default_i210(struct e1000_hw *hw, u16 *data); |
44 | extern s32 igb_read_nvm_i211(struct e1000_hw *hw, u16 offset, u16 words, | 44 | extern s32 igb_read_nvm_i211(struct e1000_hw *hw, u16 offset, u16 words, |
45 | u16 *data); | 45 | u16 *data); |
46 | extern s32 igb_read_invm_version(struct e1000_hw *hw, | ||
47 | struct e1000_fw_version *invm_ver); | ||
46 | 48 | ||
47 | #define E1000_STM_OPCODE 0xDB00 | 49 | #define E1000_STM_OPCODE 0xDB00 |
48 | #define E1000_EEPROM_FLASH_SIZE_WORD 0x11 | 50 | #define E1000_EEPROM_FLASH_SIZE_WORD 0x11 |
@@ -65,6 +67,15 @@ enum E1000_INVM_STRUCTURE_TYPE { | |||
65 | 67 | ||
66 | #define E1000_INVM_RSA_KEY_SHA256_DATA_SIZE_IN_DWORDS 8 | 68 | #define E1000_INVM_RSA_KEY_SHA256_DATA_SIZE_IN_DWORDS 8 |
67 | #define E1000_INVM_CSR_AUTOLOAD_DATA_SIZE_IN_DWORDS 1 | 69 | #define E1000_INVM_CSR_AUTOLOAD_DATA_SIZE_IN_DWORDS 1 |
70 | #define E1000_INVM_ULT_BYTES_SIZE 8 | ||
71 | #define E1000_INVM_RECORD_SIZE_IN_BYTES 4 | ||
72 | #define E1000_INVM_VER_FIELD_ONE 0x1FF8 | ||
73 | #define E1000_INVM_VER_FIELD_TWO 0x7FE000 | ||
74 | #define E1000_INVM_IMGTYPE_FIELD 0x1F800000 | ||
75 | |||
76 | #define E1000_INVM_MAJOR_MASK 0x3F0 | ||
77 | #define E1000_INVM_MINOR_MASK 0xF | ||
78 | #define E1000_INVM_MAJOR_SHIFT 4 | ||
68 | 79 | ||
69 | #define ID_LED_DEFAULT_I210 ((ID_LED_OFF1_ON2 << 8) | \ | 80 | #define ID_LED_DEFAULT_I210 ((ID_LED_OFF1_ON2 << 8) | \ |
70 | (ID_LED_OFF1_OFF2 << 4) | \ | 81 | (ID_LED_OFF1_OFF2 << 4) | \ |