* Bit of a misnomer, what this really means is * to enable OS management of the system... aka * to disable special hardware management features. */
| 2500 | * to disable special hardware management features. |
| 2501 | */ |
| 2502 | static void |
| 2503 | igb_init_manageability(struct e1000_hw *hw) |
| 2504 | { |
| 2505 | if (e1000_enable_mng_pass_thru(hw)) { |
| 2506 | uint32_t manc2h = E1000_READ_REG(hw, E1000_MANC2H); |
| 2507 | uint32_t manc = E1000_READ_REG(hw, E1000_MANC); |
| 2508 | |
| 2509 | /* disable hardware interception of ARP */ |
| 2510 | manc &= ~(E1000_MANC_ARP_EN); |
| 2511 | |
| 2512 | /* enable receiving management packets to the host */ |
| 2513 | manc |= E1000_MANC_EN_MNG2HOST; |
| 2514 | manc2h |= 1 << 5; /* Mng Port 623 */ |
| 2515 | manc2h |= 1 << 6; /* Mng Port 664 */ |
| 2516 | E1000_WRITE_REG(hw, E1000_MANC2H, manc2h); |
| 2517 | E1000_WRITE_REG(hw, E1000_MANC, manc); |
| 2518 | } |
| 2519 | } |
| 2520 | |
| 2521 | static void |
| 2522 | igb_release_manageability(struct e1000_hw *hw) |
no test coverage detected