ice_ptp_upd...ched_phctime(9)
π ice_ptp_update_cached_phctime(9) π
okay so bestie, welcome to the Kernel API Manual β¨ and today's main character is ice_ptp_update_cached_phctime, which lowkey keeps your timestamps from going stale. it's giving "glow-up for cached clock data" and honestly? obsessed. π«Ά
πΈ NAME πΈ
ice_ptp_update_cached_phctime β Update the cached PHC time values π
β¨ SYNOPSIS β¨
int ice_ptp_update_cached_phctime (struct ice_pf *pf );
like yes that's the whole vibe. one function, one argument, zero drama. π
π¦ ARGUMENTS π¦
pfβ Board specific private structure. this is the ice driver's own lil private struct and it's the thing getting its cached time refreshed, iykyk π
π« DESCRIPTION π«
so what does it actually do?? it updates the system time values that are cached in the PF structure and in the Rx rings. both. at once. iconic behavior honestly. π₯
this function must be called periodically to ensure that the cached value is never more than 2 seconds old. no cap, that's the whole rule β let it get older than 2 seconds and the vibes are off. β°
and here's the note: the cached copy in the PF PTP structure is always updated, even if we can't update the copy in the Rx rings. so the PF side is a ride-or-die bestie that shows up no matter what, and the Rx rings might be ghosting us that day π
π RETURN π
0β OK, successfully updated. slay. the timestamp is fresh, the cache is fed, everyone's happy π-EAGAINβ PF was busy, need to reschedule the update. not a fail, just a "catch me later" β come back and try again π«
π SEE ALSO π
the kernel file itself lives right here, bestie:
./drivers/net/ethernet/intel/ice/ice_ptp.c
and here's the entire friend group β every single one of these, no skips, periodt:
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_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_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)
π real talk bestie: if you're not calling this on a schedule, that cached time is gonna be older than a 2019 meme and nothing about that is cute. keep it under 2 seconds. fr fr.
okay that's the whole page, mwah π this one came from ./drivers/net/ethernet/intel/ice, dated October 2026 β go drink some water and call your scheduler, ily! π§ππ
π¦ 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