ice_ptp_rese...ched_phctime(9)
π NAME π
ice_ptp_reset_cached_phctime β ok so this is the girl whose whole job is reseting the cached PHC time after an update. That's it. That's the function. Iconic honestly.
This page lives in the Kernel API Manual, bestie π«Ά
β¨ SYNOPSIS β¨
void ice_ptp_reset_cached_phctime (struct ice_pf *pf );
π ARGUMENTS π
pfβ the board specific private structure. she's the main character, she's the one carrying all the state π
πΈ DESCRIPTION πΈ
Okay so listen β this function must be called when the cached PHC time is no longer valid, such as after a time adjustment. No cap. If your cached timestamp is lying to you, this is the girl you call π₯
What she does, in order, because she's organized like that:
- she marks any currently outstanding Tx timestamps as stale π
- she updates the cached PHC time for both the PF and the Rx rings β¨
And here's the part that's giving "she's trying her best": if updating the PHC time cannot be done immediately, a warning message is logged π’ and the work item is scheduled immediately β specifically so the window with a wrong cached timestamp stays as tiny as possible. Minimize that window, queen π
lowkey important: this isn't optional self-care, it's a must be called situation. If the cached PHC time is stale, she needs to hear about it fr fr.
π¦ SEE ALSO π¦
The kernel file herself: ./drivers/net/ethernet/intel/ice/ice_ptp.c π
and the whole group chat of related functions, all in (9):
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_write_init(9)ice_ptp_write_adj(9)ice_base_incval(9)ice_ptp_check_tx_fifo(9)ice_ptp_wait_for_offsets(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)
<div align="center">β π§ββοΈ β
that's the whole vibe check bestie! this one's from ./drivers/net/ethernet/intel/ice, dated October 2026, and the page is ice_ptp_rese...ched_phctime(9) π periodt.</div>
π¦ 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