ice_ptp_rebuild(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME

ok so this is ice_ptp_rebuild(9) straight out of the Kernel API Manual, and honestly? it's giving quiet-but-essential. it does exactly one job, and that job is: initialize PTP hardware clock support after reset ✨. like, the clock got yeeted by a reset and this function is the one that patches it back up. main character energy, no cap πŸ’…


πŸ¦‹ SYNOPSIS

void ice_ptp_rebuild (struct ice_pf *pf , enum ice_reset_req reset_type
);

notice the void bestie β€” it does the thing and gives you nothing back. confident. mysterious. iconic 🫢


πŸ’– ARGUMENTS

  • pf β€” the board private structure. that's your whole personality-holding struct for the board, she carries everything πŸŽ€
  • reset_type β€” the reset type being performed. like, which flavor of reset just happened. the enum tells the story here, not us 🌸

🌈 SEE ALSO

literally the entire ice PTP cinematic universe lives in the kernel file ./drivers/net/ethernet/intel/ice/ice_ptp.c β€” go read her, she's long but she ate πŸ’€

and because one bb is never enough, here's the whole group chat of neighbors: 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) πŸ”₯

the tx tracker crew, absolutely unmatched: 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_wait_for_offsets(9) ⭐

phy + link girlies (they're literally so busy): 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) 🧚

clock + crosststamp section, highkey underrated: 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) πŸ’œ

the setup / caps / init era, the origin story fr fr: 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_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) 🌟


ok go read the actual spec too, this page is just the vibe check 😭

and that's the whole page bb! source path is ./drivers/net/ethernet/intel/ice, dated October 2026, slay, you're welcome, go timestamp something πŸ’–πŸŽ€πŸŒˆ

πŸ“¦ where this page comes from