ice_ptp_ts_irq(9)
π ice_ptp_ts_irq β like, the PTP Tx timestamp IRQ handler, bestie
okay so this is ice_ptp_ts_irq(9) from section 9 of the Kernel API Manual β yes, the kernel API one, we're in the big leagues now π
β¨ NAME β¨
ice_ptp_ts_irq β the function that processes the PTP Tx timestamps while it's literally in IRQ context (interrupt vibes only, no sleeping, no napping, no blocking π΄π«)
πΈ SYNOPSIS πΈ
irqreturn_t ice_ptp_ts_irq (struct ice_pf *pf );
π¦ ARGUMENTS π¦
pfβ the board private structure. that's it. that's the whole argument list, she's low-maintenance π
β RETURN β
so she returns an irqreturn_t, and it's giving two possible moods:
IRQ_WAKE_THREADβ returned when the Tx timestamp read has to be handled down in the bottom half of the interrupt. like, the top half says "not me, take it to the thread bestie" π«ΆIRQ_HANDLEDβ returned otherwise. handled it, done it, ate π
π SEE ALSO π
the whole extended friend group, fr fr β head over to the kernel file:
./drivers/net/ethernet/intel/ice/ice_ptp.c
and also go say hi to:
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_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)
and that's the whole page, bestie π§β¨ sign-off time: this one lives over in ./drivers/net/ethernet/intel/ice, stamped October 2026 π go read the source, iykyk π₯
π¦ 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