ksz_phylink...nable_tx_lpi(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, picture this: a whole manual page, right, and it's literally from the Kernel API Manual. the star of the show? ksz_phylink_mac_enable_tx_lpi. she's a callback, she's dummy, she's iconic, and she's about to explain herself. buckle up πŸŽ€


🌸 NAME 🌸

ksz_phylink_mac_enable_tx_lpi β€” the callback that signals LPI support, and yeah, she's a Dummy (affectionate πŸ’…)


✨ SYNOPSIS ✨

int ksz_phylink_mac_enable_tx_lpi (struct phylink_config *config , u32
timer , bool tx_clock_stop );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • config β€” the phylink config structure, she's the main character here 🫢
  • timer β€” timer value before entering LPI. lowkey unused tho πŸ™ˆ
  • tx_clock_stop β€” whether to stop the TX clock in LPI mode. also unused, ngl πŸ’€

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so what does this function do? basically it signals to phylink that the driver architecture supports LPI management, which lets phylink control EEE advertisement during negotiation according to IEEE Std 802.3 (Clause 78). slay ✨

Hardware Management of EEE/LPI State: so for KSZ switch ports with integrated PHYs (e.g., KSZ9893R ports 1-2), observation and testing suggest that the actual EEE / Low Power Idle (LPI) state transitions are managed autonomously by the hardware based on the auto-negotiation results. (not me reading the datasheet, but: while the datasheet describes EEE operation based on negotiation, it doesn't explicitly detail the internal MAC/PHY interaction, so autonomous hardware management of the MAC state for LPI is inferred from observed behavior). this hardware control, consistent with the switch's ability to operate autonomously via strapping, means MAC-level software intervention is not required or exposed for managing the LPI state once EEE is negotiated. (Ref: KSZ9893R Data Sheet DS00002420D, primarily Section 4.7.5 explaining EEE, also Sections 4.1.7 on Auto-Negotiation and 3.2.1 on Configuration Straps). the way the hardware just handles it itself?? we love a self-sufficient queen πŸ’…

additionally, ports configured as MAC interfaces (e.g., KSZ9893R port 3) lack documented MAC-level LPI control. no cap, it's just not documented 😭

therefore, this callback performs no action and serves primarily to inform phylink of LPI awareness and to document the inferred hardware behavior. she does nothing but she ate, and honestly? that's the vibe 🌈


⭐ RETURN ⭐

0 β€” always success, every single time. no drama, no errors, just wins πŸ’–

fr fr she cannot fail. that's her whole personality.

πŸ’œ SEE ALSO πŸ’œ

Kernel file: ./drivers/net/dsa/microchip/ksz_common.c

and the whole friend group 🫢:


and that's the whole page, bestie 🧚 drop a πŸŽ€ for our girl, sourced fresh from ./drivers/net/dsa/microchip, dated October 2026, and forever doing absolutely nothing on purpose. periodt.

πŸ“¦ where this page comes from