sis900_auto_negotiate(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– sis900_auto_negotiate β€” a kernel API manual page, but make it cute πŸ’–

okay so bestie, we're deep in the sis900 driver today β€” this is section 9 of the kernel API manual, and honestly? she's a little niche but she serves. stay with me 🫢


✨ NAME ✨

sis900_auto_negotiate β€” literally just sets the Auto-Negotiation Enable/Reset bit. that's her whole job. that's the assignment and she ate πŸ’…


🌸 SYNOPSIS 🌸

void sis900_auto_negotiate (struct net_device *net_dev , int phy_addr );

no return value, she's a void girlie, she just does the thing and leaves πŸ”₯


πŸŽ€ ARGUMENTS πŸŽ€

  • net_dev β€” the net device to read mode for. this is the NIC we're vibing with πŸ’œ
  • phy_addr β€” the mii phy address. yes it's a mouthful, no we're not changing it, that's her name πŸ¦‹

⭐ DESCRIPTION ⭐

okay so picture this: if the adapter is link-on, we set the auto-negotiate enable/reset bit. simple. iconic. no cap ✨

now the important part, bestie, listen up:

  • autong_complete should be set to 0 when starting auto-negotiation.
  • autong_complete should be set to 1 if we didn't start auto-negotiation.

and then sis900_timer will wait for link on again if autong_complete = 0. so like… the timer's just chilling there, waiting for the link to come back like a girl waiting for a text. main character energy honestly 😭

lowkey the whole flow depends on you setting autong_complete correctly β€” get it wrong and the timer's waiting for a vibe that never arrives. so. don't do that πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

this is the whole friend group, and yes you're gonna meet all of them. the kernel file is ./drivers/net/ethernet/sis/sis900.c 🧚

like, the entire roster. go read them, iykyk 🌈


and that's the page!! mwah πŸ’‹ this one lives under ./drivers/net/ethernet/sis and it's dated October 2026 β€” so yeah, she's from the future, we don't question it, we just say thank you ma'am πŸ™ˆπŸ’–

πŸ“¦ where this page comes from