* Bit of a misnomer, what this really means is * to enable OS management of the system... aka * to disable special hardware management features. */
| 1268 | * to disable special hardware management features. |
| 1269 | */ |
| 1270 | static void |
| 1271 | em_init_manageability(struct e1000_hw *hw) |
| 1272 | { |
| 1273 | if (e1000_enable_mng_pass_thru(hw)) { |
| 1274 | uint32_t manc2h = E1000_READ_REG(hw, E1000_MANC2H); |
| 1275 | uint32_t manc = E1000_READ_REG(hw, E1000_MANC); |
| 1276 | |
| 1277 | /* disable hardware interception of ARP */ |
| 1278 | manc &= ~(E1000_MANC_ARP_EN); |
| 1279 | |
| 1280 | /* enable receiving management packets to the host */ |
| 1281 | manc |= E1000_MANC_EN_MNG2HOST; |
| 1282 | manc2h |= 1 << 5; /* Mng Port 623 */ |
| 1283 | manc2h |= 1 << 6; /* Mng Port 664 */ |
| 1284 | E1000_WRITE_REG(hw, E1000_MANC2H, manc2h); |
| 1285 | E1000_WRITE_REG(hw, E1000_MANC, manc); |
| 1286 | } |
| 1287 | } |
| 1288 | |
| 1289 | /* |
| 1290 | * Give control back to hardware management |
no test coverage detected