* em_hw_control_release resets {CTRL_EXTT|FWSM}:DRV_LOAD bit. * For ASF and Pass Through versions of f/w this means that the * driver is no longer loaded. For AMT versions of the * f/w this means that the network i/f is closed. */
| 1247 | * f/w this means that the network i/f is closed. |
| 1248 | */ |
| 1249 | static void |
| 1250 | em_hw_control_release(struct e1000_hw *hw) |
| 1251 | { |
| 1252 | uint32_t ctrl_ext, swsm; |
| 1253 | |
| 1254 | /* Let firmware taken over control of h/w */ |
| 1255 | if (hw->mac.type == e1000_82573) { |
| 1256 | swsm = E1000_READ_REG(hw, E1000_SWSM); |
| 1257 | E1000_WRITE_REG(hw, E1000_SWSM, swsm & ~E1000_SWSM_DRV_LOAD); |
| 1258 | } else { |
| 1259 | ctrl_ext = E1000_READ_REG(hw, E1000_CTRL_EXT); |
| 1260 | E1000_WRITE_REG(hw, E1000_CTRL_EXT, |
| 1261 | ctrl_ext & ~E1000_CTRL_EXT_DRV_LOAD); |
| 1262 | } |
| 1263 | } |
| 1264 | |
| 1265 | /* |
| 1266 | * Bit of a misnomer, what this really means is |
no outgoing calls
no test coverage detected