ice_ptp_wait_for_offsets(9)
π ice_ptp_wait_for_offsets β Kernel API Manual, section 9 β¨
okay so bestie, we're looking at ice_ptp_wait_for_offsets from the Kernel API Manual (yes, section 9, we're fancy). buckle up, it's a good one π«Ά
πΈ NAME πΈ
ice_ptp_wait_for_offsets β the lil function that checks whether your Tx and Rx offsets are actually, you know, valid π
β SYNOPSIS β
void ice_ptp_wait_for_offsets (struct kthread_work *work );
π ARGUMENTS π
workβ a pointer to thekthread_workstructure for this task. that's the whole argument, she's lowkey low-maintenance π
π¦ DESCRIPTION π¦
so here's the vibe: this function checks whether the hardware has finished measuring the Tx and Rx offset values β the ones used to configure and enable vernier timestamp calibration. like, has the hardware done its homework yet or not π
the way that it works: once the offset in either direction is measured, it configures the associated registers with the calibrated offset values and enables timestamping. and no cap, the Tx and Rx directions are configured independently, as soon as their associated offsets are known. so if Tx shows up first, Tx gets handled first. main character energy, no waiting around for the other one π€
and the iconic part? this function reschedules itself until both Tx and Rx calibration have completed. she literally keeps her own group chat alive until everyone's answered. periodt π₯
π SEE ALSO π
the kernel file, bestie: ./drivers/net/ethernet/intel/ice/ice_ptp.c β go read it, iykyk π§
and now, the full squad (yes, all of them, i'm not skipping a single one, don't @ me):
ice_ptp_find_pin_idx(9), ice_ptp_cfg_tx_interrupt(9), ice_set_rx_tstamp(9), ice_ptp_disable_timestamp_mode(9), ice_ptp_restore_timestamp_mode(9), ice_ptp_read_src_clk_reg(9), ice_ptp_extend_32b_ts(9), ice_ptp_extend_40b_ts(9), ice_ptp_is_tx_tracker_up(9), ice_ptp_req_tx_single_tstamp(9), ice_ptp_complete_tx_single_tstamp(9), ice_ptp_process_tx_tstamp(9), ice_ptp_alloc_tx_tracker(9), ice_ptp_flush_tx_tracker(9), ice_ptp_mark_tx_tracker_stale(9), ice_ptp_flush_all_tx_tracker(9), ice_ptp_release_tx_tracker(9), ice_ptp_init_tx_e82x(9), ice_ptp_init_tx(9), ice_ptp_update_cached_phctime(9), ice_ptp_reset_cached_phctime(9), ice_ptp_write_init(9), ice_ptp_write_adj(9), ice_base_incval(9), ice_ptp_check_tx_fifo(9), ice_ptp_port_phy_stop(9), ice_ptp_port_phy_restart(9), ice_ptp_link_change(9), ice_ptp_cfg_phy_interrupt(9), ice_ptp_reset_phy_timestamping(9), ice_ptp_restart_all_phy(9), ice_ptp_adjfine(9), ice_ptp_extts_event(9), ice_ptp_cfg_extts(9), ice_ptp_disable_all_extts(9), ice_ptp_enable_all_extts(9), ice_ptp_write_perout(9), ice_ptp_cfg_perout(9), ice_ptp_disable_all_perout(9), ice_ptp_enable_all_perout(9), ice_verify_pin(9), ice_ptp_gpio_enable(9), ice_ptp_gettimex64(9), ice_ptp_settime64(9), ice_ptp_adjtime_nonatomic(9), ice_ptp_adjtime(9), struct ice_crosststamp_cfg(9), struct ice_crosststamp_ctx(9), ice_capture_crosststamp(9), ice_ptp_getcrosststamp(9), ice_ptp_hwtstamp_get(9), ice_ptp_set_timestamp_mode(9), ice_ptp_hwtstamp_set(9), ice_ptp_get_rx_hwts(9), ice_ptp_setup_pin_cfg(9), ice_ptp_disable_pins(9), ice_ptp_parse_sdp_entries(9), ice_ptp_set_funcs_e82x(9), ice_ptp_set_funcs_e810(9), ice_ptp_set_funcs_e830(9), ice_ptp_set_caps(9), ice_ptp_create_clock(9), ice_ptp_request_ts(9), ice_ptp_ts_irq(9), ice_ptp_maybe_trigger_tx_interrupt(9), ice_ptp_queue_work(9), ice_ptp_prepare_rebuild_sec(9), ice_ptp_prepare_for_reset(9), ice_ptp_rebuild_owner(9), ice_ptp_rebuild(9), ice_ptp_clock_index(9), ice_ptp_init_owner(9), ice_ptp_init_work(9), ice_ptp_init_port(9), ice_ptp_init_tx_interrupt_mode(9), ice_ptp_init(9), ice_ptp_release(9)
and that's the whole page, bestie! π
this lil beauty lives in ./drivers/net/ethernet/intel/ice and it's dated October 2026 π go forth and calibrate those offsets, you absolute icon ππ
π¦ 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