STRUCT ICE_PTP(9)
π§ struct ice_ptp(9) β the manual page, but make it a vibe β¨
okay so this is the struct ice_ptp(9) kernel API manual page, section 9, and bestieβ¦ it's the struct for integrating with CONFIG_PTP_1588_CLOCK. Say it with me: CONFIG_PTP_1588_CLOCK. Iconic. π
β¨ NAME β¨
struct ice_ptp β the data used for integrating with CONFIG_PTP_1588_CLOCK. That's it, that's the whole personality. π«Ά
πΈ SYNOPSIS πΈ
here's the whole glow-up, every field, exactly as the kernel wrote it, no cap:
struct ice_ptp {
enum ice_ptp_state state;
enum ice_ptp_tx_interrupt tx_interrupt_mode;
struct ice_ptp_port port;
struct kthread_delayed_work work;
u64 cached_phc_time;
unsigned long cached_phc_jiffies;
struct kthread_worker *kworker;
u8 ext_ts_irq;
struct ptp_pin_desc pin_desc[ICE_N_PINS_MAX];
const struct ice_ptp_pin_desc *ice_pin_desc;
struct ptp_perout_request perout_rqs[GLTSYN_TGT_H_IDX_MAX];
struct ptp_extts_request extts_rqs[GLTSYN_EVNT_H_IDX_MAX];
struct ptp_clock_info info;
struct ptp_clock *clock;
struct kernel_hwtstamp_config tstamp_config;
unsigned long tx_refclks[ICE_E825_MAX_PHYS][ICE_REF_CLK_MAX];
u64 reset_time;
u64 tx_hwtstamp_good;
u32 tx_hwtstamp_skipped;
u32 tx_hwtstamp_timeouts;
u32 tx_hwtstamp_flushed;
u32 tx_hwtstamp_discarded;
u32 late_cached_phc_updates;
};
look at all those members. she's got range. π
π Members π
time for the member-by-member tour, bestie, let's go π¦
stateβ the current state of PTP state machine. main character energy, honestly.tx_interrupt_modeβ the TX interrupt mode for the PTP clock.portβ data for the PHY port initialization procedure. it's giving "getting ready" vibes.workβ delayed work function for periodic tasks. lowkey the one doing all the chores.cached_phc_timeβ a cached copy of the PHC time for timestamp extension.cached_phc_jiffiesβ jiffies whencached_phc_timewas last updated. like a little timestamp on the timestamp. πkworkerβ kwork thread for handling periodic work.ext_ts_irqβ the external timestamp IRQ in use.pin_descβ structure defining pins.ice_pin_descβ internal structure describing pin relations. iykyk.perout_rqsβ cached periodic output requests.extts_rqsβ cached external timestamp requests.infoβ structure defining PTP hardware capabilities.clockβ pointer to registered PTP clock device. βtstamp_configβ hardware timestamping configuration.tx_refclksβ bitmaps table to store the information about TX reference clocks.reset_timeβ kernel time after clock stop on reset.tx_hwtstamp_goodβ number of completed Tx timestamp requests. ate. πtx_hwtstamp_skippedβ number of Tx time stamp requests skipped. πtx_hwtstamp_timeoutsβ number of Tx skbs discarded with no time stamp.tx_hwtstamp_flushedβ number of Tx skbs flushed due to interface closed.tx_hwtstamp_discardedβ number of Tx skbs discarded due to cached PHC time being too old to correctly extend timestamp.late_cached_phc_updatesβ number of times cached PHC update is late. not me showing up lateβ¦ π
π SEE ALSO π
go read these next, bestie, they're all in the Kernel file ./drivers/net/ethernet/intel/ice/ice_ptp.h:
- struct
ice_tx_tstamp(9) enum ice_tx_tstamp_work(9)- struct
ice_ptp_tx(9) - struct
ice_ptp_port(9) - struct
ice_ptp_pin_desc(9)
like a little reading list. obsessed. πβ¨
and that's the whole page!! source is ./drivers/net/ethernet/intel/ice, dated October 2026. slay, mwah, bye bestie πππ§ββοΈ
π¦ 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