ice_ptp_init(9)
πΈ ice_ptp_init(9) β straight outta the Kernel API Manual πΈ
okay bestie, buckle up, we're talking about ice_ptp_init today β the kernel API manual page that literally sets up your PTP hardware clock support β¨ this is the group-chat recap, no details lost, i promise π«Ά
π NAME π
ice_ptp_init β initialize PTP hardware clock support π₯
β¨ SYNOPSIS β¨
void ice_ptp_init (struct ice_pf *pf );
π ARGUMENTS π
pfβ the board private structure, aka the main character of this whole function π
π¦ DESCRIPTION π¦
so the vibe here is: this sets up the device so it can interact with the PTP hardware clock, and it does that for all the functions β both the function that actually owns the clock hardware π and the functions that are connected to the clock hardware π. everyone gets an invite to the party, bestie.
the clock owner is the one that allocates and registers a ptp_clock with the PTP_1588_CLOCK infrastructure β. and then β this part is lowkey important β all functions allocate a kthread and work items, which are used for asynchronous work, things like Tx timestamps and periodic work π they really said "everybody works, nobody coasts."
no cap, that's the whole function. short, sweet, and it's giving infrastructure. π§
π SEE ALSO π
first up, the kernel file where all the magic lives π«:
./drivers/net/ethernet/intel/ice/ice_ptp.cβ the kernel file itself, periodt.
and then the extended fam, in the exact order they showed up to the function π«Ά β obsessed with how long this list is, honestly iconic:
- pin + tx interrupt crew β
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) - timestamp math besties β
ice_ptp_read_src_clk_reg(9),ice_ptp_extend_32b_ts(9),ice_ptp_extend_40b_ts(9) - tracker squad β
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) - clock writing/waiting girlies β
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 era β
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) - fine adjustment π
β
ice_ptp_adjfine(9) - extts girlies β
ice_ptp_extts_event(9),ice_ptp_cfg_extts(9),ice_ptp_disable_all_extts(9),ice_ptp_enable_all_extts(9) - perout girlies β
ice_ptp_write_perout(9),ice_ptp_cfg_perout(9),ice_ptp_disable_all_perout(9),ice_ptp_enable_all_perout(9) - pins & gpio β
ice_verify_pin(9),ice_ptp_gpio_enable(9) - get/set time core four β
ice_ptp_gettimex64(9),ice_ptp_settime64(9),ice_ptp_adjtime_nonatomic(9),ice_ptp_adjtime(9) - crosststamp club β
struct ice_crosststamp_cfg(9),struct ice_crosststamp_ctx(9),ice_capture_crosststamp(9),ice_ptp_getcrosststamp(9) - hwtstamp config crowd β
ice_ptp_hwtstamp_get(9),ice_ptp_set_timestamp_mode(9),ice_ptp_hwtstamp_set(9),ice_ptp_get_rx_hwts(9) - pin setup delegation β
ice_ptp_setup_pin_cfg(9),ice_ptp_disable_pins(9),ice_ptp_parse_sdp_entries(9) - per-silicon funcs β
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) - request & irq β
ice_ptp_request_ts(9),ice_ptp_ts_irq(9),ice_ptp_maybe_trigger_tx_interrupt(9),ice_ptp_queue_work(9) - rebuild/reset arc β
ice_ptp_prepare_rebuild_sec(9),ice_ptp_prepare_for_reset(9),ice_ptp_rebuild_owner(9),ice_ptp_rebuild(9) - the init+release finale π β
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_release(9)
and that's the whole page, bestie β go forth and timestamp β¨
this cutie came to you straight from ./drivers/net/ethernet/intel/ice, dated October 2026, and it lives in the Kernel API Manual π slay, bye π
π¦ 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