Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/e1000/e1000_ich8lan.c
Show First 20 Lines • Show All 2,774 Lines • ▼ Show 20 Lines | s32 e1000_lv_jumbo_workaround_ich8lan(struct e1000_hw *hw, bool enable) | ||||
if (ret_val) | if (ret_val) | ||||
return ret_val; | return ret_val; | ||||
if (enable) { | if (enable) { | ||||
/* Write Rx addresses (rar_entry_count for RAL/H, and | /* Write Rx addresses (rar_entry_count for RAL/H, and | ||||
* SHRAL/H) and initial CRC values to the MAC | * SHRAL/H) and initial CRC values to the MAC | ||||
*/ | */ | ||||
for (i = 0; i < hw->mac.rar_entry_count; i++) { | for (i = 0; i < hw->mac.rar_entry_count; i++) { | ||||
u8 mac_addr[ETH_ADDR_LEN] = {0}; | u8 mac_addr[ETHER_ADDR_LEN] = {0}; | ||||
u32 addr_high, addr_low; | u32 addr_high, addr_low; | ||||
addr_high = E1000_READ_REG(hw, E1000_RAH(i)); | addr_high = E1000_READ_REG(hw, E1000_RAH(i)); | ||||
if (!(addr_high & E1000_RAH_AV)) | if (!(addr_high & E1000_RAH_AV)) | ||||
continue; | continue; | ||||
addr_low = E1000_READ_REG(hw, E1000_RAL(i)); | addr_low = E1000_READ_REG(hw, E1000_RAL(i)); | ||||
mac_addr[0] = (addr_low & 0xFF); | mac_addr[0] = (addr_low & 0xFF); | ||||
mac_addr[1] = ((addr_low >> 8) & 0xFF); | mac_addr[1] = ((addr_low >> 8) & 0xFF); | ||||
▲ Show 20 Lines • Show All 3,315 Lines • Show Last 20 Lines |