aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_common.h
diff options
context:
space:
mode:
authorEmil Tantilov <emil.s.tantilov@intel.com>2011-03-23 20:57:50 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2011-04-13 22:23:38 -0400
commiteb9c3e3ea2981e56c71e8f5477c51783856090b1 (patch)
treeff6ddad23c34e96de2083c46598f7aab0eb62425 /drivers/net/ixgbe/ixgbe_common.h
parent032b4325b61b03f87f0346d0e92e39f785e24105 (diff)
ixgbe: fix semaphores in eeprom routines for x540
HW can upload EEPROM content from flash while in a middle of checksum calculation. Take NVM ownership for the whole process of checksum update. Call ixgbe_read_eerd_generic() and ixgbe_write_eewr_generic() directly to avoid double take of semaphores which leads to long loading times. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_common.h')
-rw-r--r--drivers/net/ixgbe/ixgbe_common.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ixgbe/ixgbe_common.h b/drivers/net/ixgbe/ixgbe_common.h
index 2585bf38391d..e18dc136ad34 100644
--- a/drivers/net/ixgbe/ixgbe_common.h
+++ b/drivers/net/ixgbe/ixgbe_common.h
@@ -50,13 +50,13 @@ s32 ixgbe_led_off_generic(struct ixgbe_hw *hw, u32 index);
50s32 ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw); 50s32 ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw);
51s32 ixgbe_write_eeprom_generic(struct ixgbe_hw *hw, u16 offset, u16 data); 51s32 ixgbe_write_eeprom_generic(struct ixgbe_hw *hw, u16 offset, u16 data);
52s32 ixgbe_read_eerd_generic(struct ixgbe_hw *hw, u16 offset, u16 *data); 52s32 ixgbe_read_eerd_generic(struct ixgbe_hw *hw, u16 offset, u16 *data);
53s32 ixgbe_write_eewr_generic(struct ixgbe_hw *hw, u16 offset, u16 data);
53s32 ixgbe_read_eeprom_bit_bang_generic(struct ixgbe_hw *hw, u16 offset, 54s32 ixgbe_read_eeprom_bit_bang_generic(struct ixgbe_hw *hw, u16 offset,
54 u16 *data); 55 u16 *data);
55u16 ixgbe_calc_eeprom_checksum_generic(struct ixgbe_hw *hw); 56u16 ixgbe_calc_eeprom_checksum_generic(struct ixgbe_hw *hw);
56s32 ixgbe_validate_eeprom_checksum_generic(struct ixgbe_hw *hw, 57s32 ixgbe_validate_eeprom_checksum_generic(struct ixgbe_hw *hw,
57 u16 *checksum_val); 58 u16 *checksum_val);
58s32 ixgbe_update_eeprom_checksum_generic(struct ixgbe_hw *hw); 59s32 ixgbe_update_eeprom_checksum_generic(struct ixgbe_hw *hw);
59s32 ixgbe_poll_eerd_eewr_done(struct ixgbe_hw *hw, u32 ee_reg);
60 60
61s32 ixgbe_set_rar_generic(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq, 61s32 ixgbe_set_rar_generic(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq,
62 u32 enable_addr); 62 u32 enable_addr);