Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/e1000/e1000_82571.c
Show First 20 Lines • Show All 509 Lines • ▼ Show 20 Lines | |||||
* | * | ||||
**/ | **/ | ||||
static s32 | static s32 | ||||
e1000_get_hw_semaphore_82574(struct e1000_hw *hw) | e1000_get_hw_semaphore_82574(struct e1000_hw *hw) | ||||
{ | { | ||||
u32 extcnf_ctrl; | u32 extcnf_ctrl; | ||||
s32 i = 0; | s32 i = 0; | ||||
/* XXX assert that mutex is held */ | /* XXX assert that mutex is held */ | ||||
DEBUGFUNC("e1000_get_hw_semaphore_82573"); | DEBUGFUNC("e1000_get_hw_semaphore_82574"); | ||||
ASSERT_CTX_LOCK_HELD(hw); | ASSERT_CTX_LOCK_HELD(hw); | ||||
extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL); | extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL); | ||||
do { | do { | ||||
extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; | extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; | ||||
E1000_WRITE_REG(hw, E1000_EXTCNF_CTRL, extcnf_ctrl); | E1000_WRITE_REG(hw, E1000_EXTCNF_CTRL, extcnf_ctrl); | ||||
extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL); | extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL); | ||||
▲ Show 20 Lines • Show All 1,385 Lines • Show Last 20 Lines |