mirror of https://gitee.com/openkylin/linux.git
igb: resolve namespacecheck warning for igb_hash_mc_addr
This patch resolves a warning seen when doing namespace checking via "make namespacecheck" Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bb5a9ad2b8
commit
44c852ead5
|
@ -285,41 +285,6 @@ void igb_mta_set(struct e1000_hw *hw, u32 hash_value)
|
||||||
wrfl();
|
wrfl();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* igb_update_mc_addr_list - Update Multicast addresses
|
|
||||||
* @hw: pointer to the HW structure
|
|
||||||
* @mc_addr_list: array of multicast addresses to program
|
|
||||||
* @mc_addr_count: number of multicast addresses to program
|
|
||||||
*
|
|
||||||
* Updates entire Multicast Table Array.
|
|
||||||
* The caller must have a packed mc_addr_list of multicast addresses.
|
|
||||||
**/
|
|
||||||
void igb_update_mc_addr_list(struct e1000_hw *hw,
|
|
||||||
u8 *mc_addr_list, u32 mc_addr_count)
|
|
||||||
{
|
|
||||||
u32 hash_value, hash_bit, hash_reg;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
/* clear mta_shadow */
|
|
||||||
memset(&hw->mac.mta_shadow, 0, sizeof(hw->mac.mta_shadow));
|
|
||||||
|
|
||||||
/* update mta_shadow from mc_addr_list */
|
|
||||||
for (i = 0; (u32) i < mc_addr_count; i++) {
|
|
||||||
hash_value = igb_hash_mc_addr(hw, mc_addr_list);
|
|
||||||
|
|
||||||
hash_reg = (hash_value >> 5) & (hw->mac.mta_reg_count - 1);
|
|
||||||
hash_bit = hash_value & 0x1F;
|
|
||||||
|
|
||||||
hw->mac.mta_shadow[hash_reg] |= (1 << hash_bit);
|
|
||||||
mc_addr_list += (ETH_ALEN);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* replace the entire MTA table */
|
|
||||||
for (i = hw->mac.mta_reg_count - 1; i >= 0; i--)
|
|
||||||
array_wr32(E1000_MTA, i, hw->mac.mta_shadow[i]);
|
|
||||||
wrfl();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* igb_hash_mc_addr - Generate a multicast hash value
|
* igb_hash_mc_addr - Generate a multicast hash value
|
||||||
* @hw: pointer to the HW structure
|
* @hw: pointer to the HW structure
|
||||||
|
@ -329,7 +294,7 @@ void igb_update_mc_addr_list(struct e1000_hw *hw,
|
||||||
* the multicast filter table array address and new table value. See
|
* the multicast filter table array address and new table value. See
|
||||||
* igb_mta_set()
|
* igb_mta_set()
|
||||||
**/
|
**/
|
||||||
u32 igb_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr)
|
static u32 igb_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr)
|
||||||
{
|
{
|
||||||
u32 hash_value, hash_mask;
|
u32 hash_value, hash_mask;
|
||||||
u8 bit_shift = 0;
|
u8 bit_shift = 0;
|
||||||
|
@ -391,6 +356,41 @@ u32 igb_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr)
|
||||||
return hash_value;
|
return hash_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igb_update_mc_addr_list - Update Multicast addresses
|
||||||
|
* @hw: pointer to the HW structure
|
||||||
|
* @mc_addr_list: array of multicast addresses to program
|
||||||
|
* @mc_addr_count: number of multicast addresses to program
|
||||||
|
*
|
||||||
|
* Updates entire Multicast Table Array.
|
||||||
|
* The caller must have a packed mc_addr_list of multicast addresses.
|
||||||
|
**/
|
||||||
|
void igb_update_mc_addr_list(struct e1000_hw *hw,
|
||||||
|
u8 *mc_addr_list, u32 mc_addr_count)
|
||||||
|
{
|
||||||
|
u32 hash_value, hash_bit, hash_reg;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* clear mta_shadow */
|
||||||
|
memset(&hw->mac.mta_shadow, 0, sizeof(hw->mac.mta_shadow));
|
||||||
|
|
||||||
|
/* update mta_shadow from mc_addr_list */
|
||||||
|
for (i = 0; (u32) i < mc_addr_count; i++) {
|
||||||
|
hash_value = igb_hash_mc_addr(hw, mc_addr_list);
|
||||||
|
|
||||||
|
hash_reg = (hash_value >> 5) & (hw->mac.mta_reg_count - 1);
|
||||||
|
hash_bit = hash_value & 0x1F;
|
||||||
|
|
||||||
|
hw->mac.mta_shadow[hash_reg] |= (1 << hash_bit);
|
||||||
|
mc_addr_list += (ETH_ALEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replace the entire MTA table */
|
||||||
|
for (i = hw->mac.mta_reg_count - 1; i >= 0; i--)
|
||||||
|
array_wr32(E1000_MTA, i, hw->mac.mta_shadow[i]);
|
||||||
|
wrfl();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* igb_clear_hw_cntrs_base - Clear base hardware counters
|
* igb_clear_hw_cntrs_base - Clear base hardware counters
|
||||||
* @hw: pointer to the HW structure
|
* @hw: pointer to the HW structure
|
||||||
|
|
|
@ -88,6 +88,5 @@ enum e1000_mng_mode {
|
||||||
#define E1000_MNG_DHCP_COOKIE_STATUS_VLAN 0x2
|
#define E1000_MNG_DHCP_COOKIE_STATUS_VLAN 0x2
|
||||||
|
|
||||||
extern void e1000_init_function_pointers_82575(struct e1000_hw *hw);
|
extern void e1000_init_function_pointers_82575(struct e1000_hw *hw);
|
||||||
extern u32 igb_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue