STRUCT ICE_PTP_PORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ice_ptp_port(9) πŸ’–

okay so welcome to the kernel API manual bestie, this one's about struct ice_ptp_port and it lives in section 9 of the Kernel API Manual, which is giving "deep lore" energy ngl 🧚


✨ NAME ✨

struct ice_ptp_port β€” the data used to initialize an external port for PTP πŸ•°οΈ


🌸 SYNOPSIS 🌸

struct ice_ptp_port {
    struct list_head list_node;
    struct ice_ptp_tx tx;
    struct kthread_delayed_work ov_work;
    struct mutex ps_lock;
    bool link_up;
    u8 tx_fifo_busy_cnt;
    u8 port_num;
    enum ice_e825c_ref_clk tx_clk;
    enum ice_e825c_ref_clk tx_clk_req;
 };

like, that's the whole struct, no cap. every field, exactly as written, we do not abbreviate here πŸ’…


πŸŽ€ Members πŸŽ€

okay bestie let's go field by field, this is the part where you go "omg that's what that is":

  • list_node β€” the list member structure, literally just chillin' in a list fr fr
  • tx β€” Tx timestamp tracking for this port, it's keeping receipts (timestamped ones) ⏱️
  • ov_work β€” delayed work task for tracking when the PHY offset is valid β€” like a little scheduled reminder that goes off when the offset finally makes sense 🫢
  • ps_lock β€” mutex used to protect the overall PTP PHY start procedure, so nobody barges in mid-startup, we respect the lock πŸ”’
  • link_up β€” indicates whether the link is up, yes/no, that's it, that's the bool 🌈
  • tx_fifo_busy_cnt β€” number of times the Tx FIFO was busy 😭 like a little counter of "ugh try again"
  • port_num β€” the port number this structure represents, its whole identity ngl πŸͺͺ
  • tx_clk β€” currently active Tx reference clock source, the one clocking it right now ⭐
  • tx_clk_req β€” requested Tx reference clock source (new target), i.e. the glow-up it's aiming for πŸ¦‹

πŸ‘‘ Description πŸ‘‘

so basically: this structure contains data indicating whether a single external port is ready for PTP functionality. that's the vibe check right there.

it's used to track the port initialization and determine when the port's PHY offset is valid πŸ’œ β€” like it's the main character that knows when the port has finally finished getting ready and the offset actually means something. periodt.


πŸ”₯ SEE ALSO πŸ”₯

  • 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_pin_desc(9)
  • struct ice_ptp(9)

go read those next, iykyk πŸ“šβœ¨


and that's the page!! this one came from ./drivers/net/ethernet/intel/ice, dated October 2026, and it's filed under struct ice_ptp_port(9) β€” ty for coming to my ted talk, mwah πŸ’‹πŸŒΈπŸ’–

πŸ“¦ where this page comes from