/* Sets the bit in the multicast table corresponding to the hash value. hw - Struct containing variables accessed by shared code hash_value - Multicast address hash value  */
void atl1_hash_set(struct atl1_hw *hw, u32 hash_value)
/* Sets the bit in the multicast table corresponding to the hash value. hw - Struct containing variables accessed by shared code hash_value - Multicast address hash value  */
void atl1_hash_set(struct atl1_hw *hw, u32 hash_value)
{
	u32 hash_bit, hash_reg;
	u32 mta;
	hash_reg = (hash_value >> 31) & 0x1;
	hash_bit = (hash_value >> 26) & 0x1F;
	mta = ioread32((hw->hw_addr + REG_RX_HASH_TABLE) + (hash_reg << 2));
	mta |= (1 << hash_bit);
	iowrite32(mta, (hw->hw_addr + REG_RX_HASH_TABLE) + (hash_reg << 2));
}