ice_ptp_prep_phy_adj_eth56g(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ice_ptp_prep_phy_adj_eth56g(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual (section 9, kernel developer land πŸ‘‘) and today's main character is ice_ptp_prep_phy_adj_eth56g β€” say that five times fast, I dare you 😭. It's giving "tiny function, big job", and we're gonna get into it. no gatekeeping here 🫢


✨ NAME ✨

ice_ptp_prep_phy_adj_eth56g β€” literally just Prep PHY ports for a time adjustment. that's the whole vibe check. πŸ•°οΈ


🌸 SYNOPSIS 🌸

int ice_ptp_prep_phy_adj_eth56g (struct ice_hw *hw , s32 adj );

πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” pointer to HW struct. it's the hardware bestie, the whole context, the main character of the struct world πŸ’…
  • adj β€” adjustment in nanoseconds. how much time we're shifting, in ns, fr fr ⏱️

πŸ¦‹ DESCRIPTION πŸ¦‹

So what are we actually doing here? We're preparing the PHY ports for an atomic time adjustment by programming the PHY Tx and Rx port registers ✨. That's the setup era, not the finale.

The actual adjustment doesn't happen here, bestie β€” it gets completed by issuing an ICE_PTP_ADJ_TIME or ICE_PTP_ADJ_TIME_AT_TIME sync command. So this function is like the getting-ready-with-me, and the sync command is the actual entrance. iconic division of labor, no cap πŸ‘‘


πŸ’€ RETURN πŸ’€

  • 0 β€” success πŸŽ‰ slay
  • other β€” failed to write to PHY 😭 the registers said no

🌈 SEE ALSO 🌈

Kernel file ./drivers/net/ethernet/intel/ice/ice_ptp_hw.c

and now, the extended universe β€” like, the whole friend group, lowkey a lot, but they all matter πŸ’œ:


okay that's the whole page, you made it to the end πŸŽ€πŸ’… a lil cute sign-off for you: this one's from the <pink>./drivers/net/ethernet/intel/ice</pink> source (version vibe included ✨), dated <purple>October 2026</purple>, and the page title is ice_ptp_prep_phy_adj_eth56g(9) β€” mwah, go program some registers bestie πŸŒΈπŸ¦‹πŸ’–

πŸ“¦ where this page comes from