ice_ptp_init_owner(9)
π ice_ptp_init_owner(9) β like, the PTP origin story
okay so first things first, bestie: this is a page out of the Kernel API Manual (yes, the kernel has a manual, and yes it ate). The function we're obsessing over today is ice_ptp_init_owner, and it's lowkey the main character of getting PTP_1588_CLOCK set up π
β¨ NAME β¨
ice_ptp_init_owner β literally just here to Initialize the PTP_1588_CLOCK device. That's the whole vibe. Short, sweet, iconic. π
π¦ SYNOPSIS π¦
int ice_ptp_init_owner (struct ice_pf *pf );
she takes one argument, she returns an int, she's booked and busy β¨
πΈ ARGUMENTS πΈ
pfβ the Board private structure. that's it, that's the argument. she's the board's whole personality in one pointer π«Ά
π DESCRIPTION π
so what does she actually do?? ngl she's kind of a big deal:
- Setup and initialize a PTP clock device that represents the device hardware clock β°β¨ like, she's literally building the clock that the hardware gets to call its own.
- Save the clock index for other functions connected to the same hardware resource πΎ β so all her little sibling functions can find the clock later. sharing is caring, iykyk.
no cap, that's the entire job. build the clock, stash the index, dip. π
π₯ SEE ALSO π₯
okay this section is long, buckle up bestie β here's the entire group chat, every single one of them:
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_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_work(9)ice_ptp_init_port(9)ice_ptp_init_tx_interrupt_mode(9)ice_ptp_init(9)ice_ptp_release(9)
and also, fr fr, the actual Kernel file is over at ./drivers/net/ethernet/intel/ice/ice_ptp.c β go read it, she's serving source code π
π
π§ quick reminder bestie: this whole page lives in ./drivers/net/ethernet/intel/ice, and it's dated October 2026. So when you're citing her, cite her right. β
k that's the page!! go forth and init your PTP clock, you absolute icon ππ slay!! β¨π β¨
π¦ 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