ice_ptp_upd...ched_phctime(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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