igb_phy_forc...duplex_setup(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

igb_phy_force_speed_duplex_setup β€” Configure forced PHY speed/duplex

okay so welcome to the igb_phy_forc...duplex_setup(9) page in the Kernel API Manual β€” yes, the title is literally truncated like that, and no, we're not letting that stop us. This function is here to force PHY speed/duplex, and it's lowkey a whole little checklist. πŸ’…

✨ SYNOPSIS ✨

void igb_phy_force_speed_duplex_setup (struct e1000_hw *hw , u16
       *phy_ctrl );

🌸 ARGUMENTS 🌸

  • hw β€” pointer to the HW structure.
  • phy_ctrl β€” pointer to current value of PHY_CONTROL.

πŸŽ€ DESCRIPTION πŸŽ€

Forces speed and duplex on the PHY by doing the following, in this exact lineup:

  • disable flow control
  • force speed/duplex on the MAC
  • disable auto speed detection
  • disable auto-negotiation
  • configure duplex
  • configure speed
  • configure the collision distance
  • write configuration to CTRL register

Then the important bit: The caller must write to the PHY_CONTROL register for these settings to take affect. (That's the page's spelling, bestie β€” I'm not fixing it. 😭)

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file: ./drivers/net/ethernet/intel/igb/e1000_phy.c


okay that's the whole thing, bestie. Cute sign-off: this page's source/version is ./drivers/net/ethernet/intel/igb, dated October 2026, and it answers to igb_phy_forc...duplex_setup(9). πŸ’…βœ¨

πŸ“¦ where this page comes from