ixgbe_ptp_read_X550(9)
π ixgbe_ptp_read_X550 π
okay so bestie, welcome to the Kernel API Manual β¨ this one's a little function with a big job, and honestly? she ate.
β¨ NAME β¨
ixgbe_ptp_read_X550 β read cycle counter value π
πΈ SYNOPSIS πΈ
u64 ixgbe_ptp_read_X550 (struct cyclecounter *cc );
like, that's it. that's the whole vibe check. a u64 comes out, a struct cyclecounter * goes in π¦
π«Ά ARGUMENTS π«Ά
ccβ the cyclecounter structure, bestie. she's the main character here π
π DESCRIPTION π
okay so here's the tea β this function reads the SYSTIME registers. no cap.
she gets called by the cyclecounter structure to convert from internal representation into nanoseconds β it's giving translator energy, honestly π
and listen, we need this for X550 specifically (iykyk) because some skews do not have expected clock frequency π and the result of SYSTIME is 32 bits of "billions of cycles" and 32 bits of "cycles" β not the usual seconds-and-nanoseconds situation. so yeah, the math is different, and that's exactly why this function exists. periodt πβ¨
π¦ SEE ALSO π¦
first up, the actual kernel file, iconic:
./drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c π
and then her whole friend group, fr fr β every single one of them:
ixgbe_ptp_setup_sdp_X540(9)ixgbe_ptp_setup_sdp_X550(9)ixgbe_ptp_read_82599(9)ixgbe_ptp_convert_to_hwtstamp(9)ixgbe_ptp_adjfine_82599(9)ixgbe_ptp_adjfine_X550(9)ixgbe_ptp_adjtime(9)ixgbe_ptp_gettimex(9)ixgbe_ptp_settime(9)ixgbe_ptp_feature_enable(9)ixgbe_ptp_check_pps_event(9)ixgbe_ptp_overflow_check(9)ixgbe_ptp_rx_hang(9)ixgbe_ptp_clear_tx_timestamp(9)ixgbe_ptp_tx_hang(9)ixgbe_ptp_tx_hwtstamp(9)ixgbe_ptp_tx_hwtstamp_work(9)ixgbe_ptp_rx_pktstamp(9)ixgbe_ptp_rx_rgtstamp(9)ixgbe_ptp_hwtstamp_get(9)ixgbe_ptp_set_timestamp_mode(9)ixgbe_ptp_hwtstamp_set(9)ixgbe_ptp_start_cyclecounter(9)ixgbe_ptp_init_systime(9)ixgbe_ptp_reset(9)ixgbe_ptp_create_clock(9)ixgbe_ptp_init(9)ixgbe_ptp_suspend(9)ixgbe_ptp_stop(9)
like, the whole squad showed up π«Ά go read them too, bestie, they're all lowkey obsessed with timestamps.
k bye ily, go read some registers π
this lil page came from ./drivers/net/ethernet/intel/i... and it's dated October 2026 β screenshot it, frame it, whatever, it's iconic ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms