i40e_ptp_read(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ i40e_ptp_read(9) ✨

okay so this is a page from the Kernel API Manual, bestie β€” yes, the actual kernel manual, we're in the big leagues now πŸ’…


πŸ’– NAME πŸ’–

i40e_ptp_read β€” literally just reads the PHC time straight off the device πŸ•βœ¨


πŸŽ€ SYNOPSIS πŸŽ€

void i40e_ptp_read (struct i40e_pf *pf , struct timespec64 *ts , struct
ptp_system_timestamp *sts );

like. that's the whole thing. three arguments, no return value, she's void and she's thriving 🌸


πŸ¦‹ ARGUMENTS πŸ¦‹

  • pf β€” the board private structure, aka the main character of this whole file πŸ’β€β™€οΈ
  • ts β€” a timespec structure that's gonna hold the current time value, she's the container, she's holding it down 🫢
  • sts β€” a ptp_system_timestamp structure holding the system time before and after reading the PHC, so we know exactly how long the vibe check took ⏱️✨

πŸ”₯ DESCRIPTION πŸ”₯

so what she does is β€” she reads the PRTTSYN_TIME registers and stashes them into a timespec. easy, right? NOT SO FAST bestie 😭

because those registers are 64 bits of nanoseconds, she cannot just hand that over raw. she has to convert the result to a timespec before she can return it. it's giving "I have the data but it's in the wrong units" energy fr fr πŸ’€


🌈 SEE ALSO 🌈

the kernel file lives at ./drivers/net/ethernet/intel/i40e/i40e_ptp.c β€” go look, iykyk πŸ“πŸ‘€

and then there's the whole friend group, the entire PTP extended universe, no cap:


and that's the page!! πŸ’œ this iconic little number comes to you from ./drivers/net/ethernet/intel/i40e, dated October 2026 β€” mwah, love that for us, see u in the next manpage bestie πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from