Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/e1000/e1000_82541.c
Show First 20 Lines • Show All 1,279 Lines • ▼ Show 20 Lines | |||||
**/ | **/ | ||||
static s32 e1000_read_mac_addr_82541(struct e1000_hw *hw) | static s32 e1000_read_mac_addr_82541(struct e1000_hw *hw) | ||||
{ | { | ||||
s32 ret_val = E1000_SUCCESS; | s32 ret_val = E1000_SUCCESS; | ||||
u16 offset, nvm_data, i; | u16 offset, nvm_data, i; | ||||
DEBUGFUNC("e1000_read_mac_addr"); | DEBUGFUNC("e1000_read_mac_addr"); | ||||
for (i = 0; i < ETH_ADDR_LEN; i += 2) { | for (i = 0; i < ETHER_ADDR_LEN; i += 2) { | ||||
offset = i >> 1; | offset = i >> 1; | ||||
ret_val = hw->nvm.ops.read(hw, offset, 1, &nvm_data); | ret_val = hw->nvm.ops.read(hw, offset, 1, &nvm_data); | ||||
if (ret_val) { | if (ret_val) { | ||||
DEBUGOUT("NVM Read Error\n"); | DEBUGOUT("NVM Read Error\n"); | ||||
goto out; | goto out; | ||||
} | } | ||||
hw->mac.perm_addr[i] = (u8)(nvm_data & 0xFF); | hw->mac.perm_addr[i] = (u8)(nvm_data & 0xFF); | ||||
hw->mac.perm_addr[i+1] = (u8)(nvm_data >> 8); | hw->mac.perm_addr[i+1] = (u8)(nvm_data >> 8); | ||||
} | } | ||||
for (i = 0; i < ETH_ADDR_LEN; i++) | for (i = 0; i < ETHER_ADDR_LEN; i++) | ||||
hw->mac.addr[i] = hw->mac.perm_addr[i]; | hw->mac.addr[i] = hw->mac.perm_addr[i]; | ||||
out: | out: | ||||
return ret_val; | return ret_val; | ||||
} | } | ||||