ixgbe_raise_i2c_clk(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ixgbe_raise_i2c_clk(9) πŸ’…

okay bestie, welcome to the Kernel API Manual entry for ixgbe_raise_i2c_clk β€” yes it's a real function, yes it's in the kernel, and yes we're gonna get through it together 🫢


✨ NAME ✨

ixgbe_raise_i2c_clk β€” the little guy that raises the I2C SCL clock β«πŸ•


🌸 SYNOPSIS 🌸

void ixgbe_raise_i2c_clk (struct ixgbe_hw *hw , u32 *i2cctl );

that's it. that's the whole signature. two args, no return value, iconic behavior πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” pointer to hardware structure. like, the actual hardware vibes, passed by reference πŸ–₯️✨
  • i2cctl β€” Current value of I2CCTL register. it's a u32 *, so we're looking at the live register value, not a copy πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

So what does it do? It raises the I2C clock line, going '0' -> '1' ⬆️ β€” like flipping the SCL bit up so the clock line goes high, no cap.

And on X550 hardware? It negates the I2C clock output enable πŸ”₯ that's the extra little move, and it's specific to X550, so don't go assuming it happens everywhere, bestie πŸ’€


🌈 SEE ALSO 🌈

okay this list is long long, but every single one is here because we don't do skipping in this house πŸ‘‘

First up, the file it lives in:

  • Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c

And the whole friend group:

like, that's the entire i2c/phy extended universe 🌌 and yes ixgbe_lower_i2c_clk(9) is right there at the end β€” it's the sibling, the yin to this yang, the down to this up πŸ˜­πŸ’œ


ngl this page is short but the SEE ALSO section is doing main character energy β€” read it, it's free lore 🧚

and that's the whole thing! source/version footer says ./drivers/net/ethernet/intel/i... dated October 2026, and yeah the manual name is ixgbe_raise_i2c_clk(9) in case you forgot already πŸ’– slay, go raise some clocks, periodt β­πŸŽ€

πŸ“¦ where this page comes from