diff options
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_common.h')
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h index f12c40fb5537..2ae5d4b8fc93 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | |||
@@ -39,7 +39,7 @@ s32 ixgbe_start_hw_generic(struct ixgbe_hw *hw); | |||
39 | s32 ixgbe_start_hw_gen2(struct ixgbe_hw *hw); | 39 | s32 ixgbe_start_hw_gen2(struct ixgbe_hw *hw); |
40 | s32 ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw); | 40 | s32 ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw); |
41 | s32 ixgbe_read_pba_string_generic(struct ixgbe_hw *hw, u8 *pba_num, | 41 | s32 ixgbe_read_pba_string_generic(struct ixgbe_hw *hw, u8 *pba_num, |
42 | u32 pba_num_size); | 42 | u32 pba_num_size); |
43 | s32 ixgbe_get_mac_addr_generic(struct ixgbe_hw *hw, u8 *mac_addr); | 43 | s32 ixgbe_get_mac_addr_generic(struct ixgbe_hw *hw, u8 *mac_addr); |
44 | enum ixgbe_bus_width ixgbe_convert_bus_width(u16 link_status); | 44 | enum ixgbe_bus_width ixgbe_convert_bus_width(u16 link_status); |
45 | enum ixgbe_bus_speed ixgbe_convert_bus_speed(u16 link_status); | 45 | enum ixgbe_bus_speed ixgbe_convert_bus_speed(u16 link_status); |
@@ -61,16 +61,16 @@ s32 ixgbe_write_eewr_generic(struct ixgbe_hw *hw, u16 offset, u16 data); | |||
61 | s32 ixgbe_write_eewr_buffer_generic(struct ixgbe_hw *hw, u16 offset, | 61 | s32 ixgbe_write_eewr_buffer_generic(struct ixgbe_hw *hw, u16 offset, |
62 | u16 words, u16 *data); | 62 | u16 words, u16 *data); |
63 | s32 ixgbe_read_eeprom_bit_bang_generic(struct ixgbe_hw *hw, u16 offset, | 63 | s32 ixgbe_read_eeprom_bit_bang_generic(struct ixgbe_hw *hw, u16 offset, |
64 | u16 *data); | 64 | u16 *data); |
65 | s32 ixgbe_read_eeprom_buffer_bit_bang_generic(struct ixgbe_hw *hw, u16 offset, | 65 | s32 ixgbe_read_eeprom_buffer_bit_bang_generic(struct ixgbe_hw *hw, u16 offset, |
66 | u16 words, u16 *data); | 66 | u16 words, u16 *data); |
67 | u16 ixgbe_calc_eeprom_checksum_generic(struct ixgbe_hw *hw); | 67 | u16 ixgbe_calc_eeprom_checksum_generic(struct ixgbe_hw *hw); |
68 | s32 ixgbe_validate_eeprom_checksum_generic(struct ixgbe_hw *hw, | 68 | s32 ixgbe_validate_eeprom_checksum_generic(struct ixgbe_hw *hw, |
69 | u16 *checksum_val); | 69 | u16 *checksum_val); |
70 | s32 ixgbe_update_eeprom_checksum_generic(struct ixgbe_hw *hw); | 70 | s32 ixgbe_update_eeprom_checksum_generic(struct ixgbe_hw *hw); |
71 | 71 | ||
72 | s32 ixgbe_set_rar_generic(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq, | 72 | s32 ixgbe_set_rar_generic(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq, |
73 | u32 enable_addr); | 73 | u32 enable_addr); |
74 | s32 ixgbe_clear_rar_generic(struct ixgbe_hw *hw, u32 index); | 74 | s32 ixgbe_clear_rar_generic(struct ixgbe_hw *hw, u32 index); |
75 | s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw); | 75 | s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw); |
76 | s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw, | 76 | s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw, |
@@ -92,13 +92,13 @@ s32 ixgbe_set_vmdq_san_mac_generic(struct ixgbe_hw *hw, u32 vmdq); | |||
92 | s32 ixgbe_clear_vmdq_generic(struct ixgbe_hw *hw, u32 rar, u32 vmdq); | 92 | s32 ixgbe_clear_vmdq_generic(struct ixgbe_hw *hw, u32 rar, u32 vmdq); |
93 | s32 ixgbe_init_uta_tables_generic(struct ixgbe_hw *hw); | 93 | s32 ixgbe_init_uta_tables_generic(struct ixgbe_hw *hw); |
94 | s32 ixgbe_set_vfta_generic(struct ixgbe_hw *hw, u32 vlan, | 94 | s32 ixgbe_set_vfta_generic(struct ixgbe_hw *hw, u32 vlan, |
95 | u32 vind, bool vlan_on); | 95 | u32 vind, bool vlan_on); |
96 | s32 ixgbe_clear_vfta_generic(struct ixgbe_hw *hw); | 96 | s32 ixgbe_clear_vfta_generic(struct ixgbe_hw *hw); |
97 | s32 ixgbe_check_mac_link_generic(struct ixgbe_hw *hw, | 97 | s32 ixgbe_check_mac_link_generic(struct ixgbe_hw *hw, |
98 | ixgbe_link_speed *speed, | 98 | ixgbe_link_speed *speed, |
99 | bool *link_up, bool link_up_wait_to_complete); | 99 | bool *link_up, bool link_up_wait_to_complete); |
100 | s32 ixgbe_get_wwn_prefix_generic(struct ixgbe_hw *hw, u16 *wwnn_prefix, | 100 | s32 ixgbe_get_wwn_prefix_generic(struct ixgbe_hw *hw, u16 *wwnn_prefix, |
101 | u16 *wwpn_prefix); | 101 | u16 *wwpn_prefix); |
102 | 102 | ||
103 | s32 prot_autoc_read_generic(struct ixgbe_hw *hw, bool *, u32 *reg_val); | 103 | s32 prot_autoc_read_generic(struct ixgbe_hw *hw, bool *, u32 *reg_val); |
104 | s32 prot_autoc_write_generic(struct ixgbe_hw *hw, u32 reg_val, bool locked); | 104 | s32 prot_autoc_write_generic(struct ixgbe_hw *hw, u32 reg_val, bool locked); |
@@ -141,8 +141,6 @@ static inline bool ixgbe_removed(void __iomem *addr) | |||
141 | return unlikely(!addr); | 141 | return unlikely(!addr); |
142 | } | 142 | } |
143 | 143 | ||
144 | void ixgbe_check_remove(struct ixgbe_hw *hw, u32 reg); | ||
145 | |||
146 | static inline void ixgbe_write_reg(struct ixgbe_hw *hw, u32 reg, u32 value) | 144 | static inline void ixgbe_write_reg(struct ixgbe_hw *hw, u32 reg, u32 value) |
147 | { | 145 | { |
148 | u8 __iomem *reg_addr = ACCESS_ONCE(hw->hw_addr); | 146 | u8 __iomem *reg_addr = ACCESS_ONCE(hw->hw_addr); |
@@ -172,18 +170,7 @@ static inline void ixgbe_write_reg64(struct ixgbe_hw *hw, u32 reg, u64 value) | |||
172 | } | 170 | } |
173 | #define IXGBE_WRITE_REG64(a, reg, value) ixgbe_write_reg64((a), (reg), (value)) | 171 | #define IXGBE_WRITE_REG64(a, reg, value) ixgbe_write_reg64((a), (reg), (value)) |
174 | 172 | ||
175 | static inline u32 ixgbe_read_reg(struct ixgbe_hw *hw, u32 reg) | 173 | u32 ixgbe_read_reg(struct ixgbe_hw *hw, u32 reg); |
176 | { | ||
177 | u8 __iomem *reg_addr = ACCESS_ONCE(hw->hw_addr); | ||
178 | u32 value; | ||
179 | |||
180 | if (ixgbe_removed(reg_addr)) | ||
181 | return IXGBE_FAILED_READ_REG; | ||
182 | value = readl(reg_addr + reg); | ||
183 | if (unlikely(value == IXGBE_FAILED_READ_REG)) | ||
184 | ixgbe_check_remove(hw, reg); | ||
185 | return value; | ||
186 | } | ||
187 | #define IXGBE_READ_REG(a, reg) ixgbe_read_reg((a), (reg)) | 174 | #define IXGBE_READ_REG(a, reg) ixgbe_read_reg((a), (reg)) |
188 | 175 | ||
189 | #define IXGBE_WRITE_REG_ARRAY(a, reg, offset, value) \ | 176 | #define IXGBE_WRITE_REG_ARRAY(a, reg, offset, value) \ |