diff options
author | Sean Bruno <sbruno@FreeBSD.org> | 2015-09-04 16:30:48 +0000 |
---|---|---|
committer | Sean Bruno <sbruno@FreeBSD.org> | 2015-09-04 16:30:48 +0000 |
commit | 67ebffd34801daae87f214533caf09e28bff396f (patch) | |
tree | b3bc0b1c2476eeb382a251b1134ebb4609a45beb /sys/dev/e1000/e1000_nvm.h | |
parent | bfa800d3116de8c4359f54c9252c9b37c49e782a (diff) | |
download | src-67ebffd34801daae87f214533caf09e28bff396f.tar.gz src-67ebffd34801daae87f214533caf09e28bff396f.zip |
e1000: Shared code updates
- Fix compiler warning in 80003es2lan.c
- Add return value handler for e1000_*_kmrn_reg_80003es2lan
- Fix usage of DEBUGOUT
- Remove unnecessary variable initializations.
- Removed unused variables (complaints from gcc).
- Edit defines in 82571.h.
- Add workaround for igb hw errata.
- Shared code changes for Skylake/I219 support.
- Remove unused OBFF and LTR functions.
Differential Revision: https://reviews.freebsd.org/D3162
Submitted by: erj
MFC after: 1 month
Sponsored by: Intel Corporation
Notes
Notes:
svn path=/head/; revision=287467
Diffstat (limited to 'sys/dev/e1000/e1000_nvm.h')
-rw-r--r-- | sys/dev/e1000/e1000_nvm.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sys/dev/e1000/e1000_nvm.h b/sys/dev/e1000/e1000_nvm.h index 31f2180a0b6b..66461c70848a 100644 --- a/sys/dev/e1000/e1000_nvm.h +++ b/sys/dev/e1000/e1000_nvm.h @@ -35,12 +35,26 @@ #ifndef _E1000_NVM_H_ #define _E1000_NVM_H_ -#if !defined(NO_READ_PBA_RAW) || !defined(NO_WRITE_PBA_RAW) struct e1000_pba { u16 word[2]; u16 *pba_block; }; -#endif + +struct e1000_fw_version { + u32 etrack_id; + u16 eep_major; + u16 eep_minor; + u16 eep_build; + + u8 invm_major; + u8 invm_minor; + u8 invm_img_type; + + bool or_valid; + u16 or_major; + u16 or_build; + u16 or_patch; +}; void e1000_init_nvm_ops_generic(struct e1000_hw *hw); @@ -52,6 +66,7 @@ s32 e1000_acquire_nvm_generic(struct e1000_hw *hw); s32 e1000_poll_eerd_eewr_done(struct e1000_hw *hw, int ee_reg); s32 e1000_read_mac_addr_generic(struct e1000_hw *hw); +s32 e1000_read_pba_num_generic(struct e1000_hw *hw, u32 *pba_num); s32 e1000_read_pba_string_generic(struct e1000_hw *hw, u8 *pba_num, u32 pba_num_size); s32 e1000_read_pba_length_generic(struct e1000_hw *hw, u32 *pba_num_size); @@ -76,6 +91,8 @@ s32 e1000_write_nvm_spi(struct e1000_hw *hw, u16 offset, u16 words, s32 e1000_update_nvm_checksum_generic(struct e1000_hw *hw); void e1000_stop_nvm(struct e1000_hw *hw); void e1000_release_nvm_generic(struct e1000_hw *hw); +void e1000_get_fw_version(struct e1000_hw *hw, + struct e1000_fw_version *fw_vers); #define E1000_STM_OPCODE 0xDB00 |