ice_ptp_write_incval(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so before we even get into it β€” this page is from the Kernel API Manual, and the function we're stanning today is ice_ptp_write_incval(9). grab a snack bestie, we're going into the PHC 🫢

✨ NAME ✨

ice_ptp_write_incval β€” program the PHC with a new increment value πŸ’…

πŸ“œ SYNOPSIS πŸ“œ

int ice_ptp_write_incval (struct ice_hw *hw , u64 incval );

πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” pointer to the HW struct. literally the hardware herself, main character energy 🧚
  • incval β€” the source timer increment value per clock cycle ⏰ aka how much timer you get for each tick, iykyk

πŸ’– DESCRIPTION πŸ’–

so the whole vibe here is: you program the PHC with a new increment value. and it's not a one-and-done, ngl, this requires a whole three-step process:

  1. Write the increment value to the source timer shadow registers ✍️
  2. Write the increment value to the PHY timer shadow registers ✍️
  3. Issue an ICE_PTP_INIT_INCVAL timer command so both the source AND port timers synchronously switch over to the new increment value at the next clock cycle πŸ”₯
three steps, zero shortcuts. don't skip the shadow registers, she WILL notice πŸ’€

🌈 SEE ALSO 🌈

the kernel file lives at ./drivers/net/ethernet/intel/ice/ice_ptp_hw.c β€” that's the mothership 🏠 β€” and here's the entire extended friend group, bestie, every single one of them, no cap:


and that's the whole page, bestie πŸ’œ the source/version line is ./drivers/net/ethernet/intel/ice, dated October 2026, and the page is ice_ptp_write_incval(9) β€” she ate, she slayed, periodt πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from