aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/e1000/e1000_hw.c46
1 files changed, 0 insertions, 46 deletions
diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
index 1e5ae112d57a..cda6b397550d 100644
--- a/drivers/net/e1000/e1000_hw.c
+++ b/drivers/net/e1000/e1000_hw.c
@@ -5759,52 +5759,6 @@ u32 e1000_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr)
5759} 5759}
5760 5760
5761/****************************************************************************** 5761/******************************************************************************
5762 * Sets the bit in the multicast table corresponding to the hash value.
5763 *
5764 * hw - Struct containing variables accessed by shared code
5765 * hash_value - Multicast address hash value
5766 *****************************************************************************/
5767void e1000_mta_set(struct e1000_hw *hw, u32 hash_value)
5768{
5769 u32 hash_bit, hash_reg;
5770 u32 mta;
5771 u32 temp;
5772
5773 /* The MTA is a register array of 128 32-bit registers.
5774 * It is treated like an array of 4096 bits. We want to set
5775 * bit BitArray[hash_value]. So we figure out what register
5776 * the bit is in, read it, OR in the new bit, then write
5777 * back the new value. The register is determined by the
5778 * upper 7 bits of the hash value and the bit within that
5779 * register are determined by the lower 5 bits of the value.
5780 */
5781 hash_reg = (hash_value >> 5) & 0x7F;
5782 if (hw->mac_type == e1000_ich8lan)
5783 hash_reg &= 0x1F;
5784
5785 hash_bit = hash_value & 0x1F;
5786
5787 mta = E1000_READ_REG_ARRAY(hw, MTA, hash_reg);
5788
5789 mta |= (1 << hash_bit);
5790
5791 /* If we are on an 82544 and we are trying to write an odd offset
5792 * in the MTA, save off the previous entry before writing and
5793 * restore the old value after writing.
5794 */
5795 if ((hw->mac_type == e1000_82544) && ((hash_reg & 0x1) == 1)) {
5796 temp = E1000_READ_REG_ARRAY(hw, MTA, (hash_reg - 1));
5797 E1000_WRITE_REG_ARRAY(hw, MTA, hash_reg, mta);
5798 E1000_WRITE_FLUSH();
5799 E1000_WRITE_REG_ARRAY(hw, MTA, (hash_reg - 1), temp);
5800 E1000_WRITE_FLUSH();
5801 } else {
5802 E1000_WRITE_REG_ARRAY(hw, MTA, hash_reg, mta);
5803 E1000_WRITE_FLUSH();
5804 }
5805}
5806
5807/******************************************************************************
5808 * Puts an ethernet address into a receive address register. 5762 * Puts an ethernet address into a receive address register.
5809 * 5763 *
5810 * hw - Struct containing variables accessed by shared code 5764 * hw - Struct containing variables accessed by shared code