iavf_read_phc_indirect(9)
π
iavf_read_phc_indirect(9) π
okay bestie, welcome to the Kernel API Manual page for iavf_read_phc_indirect(9) π. Yes, the manual name is right here near the top, folded in all cute and official. This is the indirect PHC-time-read situation, and weβre gonna get through it together, no cap.
πΈ NAME πΈ
iavf_read_phc_indirect β indirectly read the PHC time via virtchnl β¨
π¦ SYNOPSIS π¦
int iavf_read_phc_indirect (struct iavf_adapter *adapter , struct
timespec64 *ts , struct ptp_system_timestamp *sts );
π ARGUMENTS π
adapterβ private adapter structure; this is the main-character struct weβre working with π«Άtsβ storage for the timestamp value; the timestamp goes here πstsβ system timestamp values before and after the read; itβs literally the before-and-after system timestamps π
π DESCRIPTION π
okay so hereβs the whole vibe: this function is used when the device does not have direct register access to the PHC time. Instead, it indirectly reads the time via VIRTCHNL_OP_1588_PTP_GET_TIME, and waits for the reply from the PF. The way that indirect read has to wait for the PF reply? itβs giving βhold on, bestieβ energy π
.
Based on some simple measurements using ftrace and phc2sys, this clock access method has about a ~110 usec latency even when the system is not under load. Thatβs ~110 usec of latency, bestie β highkey important to know π.
In order to achieve acceptable results when using phc2sys with the indirect clock access method, it is recommended to use more conservative proportional and integration constants with the P/I servo. This is a real recommendation, not a vibe-only suggestion β conservative constants with the P/I servo, fr fr π«Ά.
β RETURN β
0 if success, error code otherwise. Thatβs the whole return deal. Periodt. π
π₯ SEE ALSO π₯
Kernel file: ./drivers/net/ethernet/intel/iavf/iavf_ptp.c
The whole friend group:
iavf_ptp_disable_rx_tstamp(9)iavf_ptp_enable_rx_tstamp(9)iavf_ptp_set_timestamp_mode(9)iavf_ptp_set_ts_config(9)iavf_ptp_cap_supported(9)iavf_allocate_ptp_cmd(9)iavf_queue_ptp_cmd(9)iavf_send_phc_read(9)iavf_ptp_cache_phc_time(9)iavf_ptp_do_aux_work(9)iavf_ptp_register_clock(9)iavf_ptp_init(9)iavf_ptp_release(9)iavf_ptp_process_caps(9)iavf_ptp_extend_32b_timestamp(9)
π«Ά cute sign-off time: source/version is ./drivers/net/ethernet/intel/iavf, the date is October 2026, and this was iavf_read_phc_indirect(9) from the Kernel API Manual. bye bestie, go read that PHC time indirectly π
π¦ 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