aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igb/e1000_i210.h
diff options
context:
space:
mode:
authorCarolyn Wyborny <carolyn.wyborny@intel.com>2012-10-23 09:04:37 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-11-01 05:35:52 -0400
commit09e77287e752c8fc9743d865ddadc1a0d81a4927 (patch)
treef86cf9a83520ce45bbc9e06adf817cf68b372af6 /drivers/net/ethernet/intel/igb/e1000_i210.h
parent40b20122f92b9e29d7770c12eb58b3a30e1cce33 (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.h11
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);
43extern s32 igb_valid_led_default_i210(struct e1000_hw *hw, u16 *data); 43extern s32 igb_valid_led_default_i210(struct e1000_hw *hw, u16 *data);
44extern s32 igb_read_nvm_i211(struct e1000_hw *hw, u16 offset, u16 words, 44extern s32 igb_read_nvm_i211(struct e1000_hw *hw, u16 offset, u16 words,
45 u16 *data); 45 u16 *data);
46extern 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) | \