STRUCT ICE_VERNIER_INFO_E82X(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct ice_vernier_info_e82x(9) β€” the Kernel API Manual, but make it make sense πŸ¦‹

okay so bestie, welcome to the Kernel API Manual, section 9. today's main character is struct ice_vernier_info_e82x and honestly? she's a little lookup table of numbers and she KNOWS it. πŸ’…


✨ SYNOPSIS ✨

here's the whole struct, exactly as it lives, no notes:

struct ice_vernier_info_e82x {
    u32 tx_par_clk;
    u32 rx_par_clk;
    u32 tx_pcs_clk;
    u32 rx_pcs_clk;
    u32 tx_desk_rsgb_par;
    u32 rx_desk_rsgb_par;
    u32 tx_desk_rsgb_pcs;
    u32 rx_desk_rsgb_pcs;
    u32 tx_fixed_delay;
    u32 pmd_adj_divisor;
    u32 rx_fixed_delay;
 };

like, she's twelve-ish u32s in a trench coat. iconic behaviour. 🧚


🌸 Members 🌸

okay let's go field by field, no skips, no cap:

  • tx_par_clk β€” the frequency used to calculate P_REG_PAR_TX_TUS. it's giving "ingredient for a math moment" ✨
  • rx_par_clk β€” the frequency used to calculate P_REG_PAR_RX_TUS. yes, the rx twin, she's here too 🫢
  • tx_pcs_clk β€” the frequency used to calculate P_REG_PCS_TX_TUS πŸŽ€
  • rx_pcs_clk β€” the frequency used to calculate P_REG_PCS_RX_TUS πŸŽ€
  • tx_desk_rsgb_par β€” the frequency used to calculate P_REG_DESK_PAR_TX_TUS πŸ’œ
  • rx_desk_rsgb_par β€” the frequency used to calculate P_REG_DESK_PAR_RX_TUS πŸ’œ
  • tx_desk_rsgb_pcs β€” the frequency used to calculate P_REG_DESK_PCS_TX_TUS ⭐
  • rx_desk_rsgb_pcs β€” the frequency used to calculate P_REG_DESK_PCS_RX_TUS ⭐
  • tx_fixed_delay β€” the fixed Tx latency, measured in 1/100th nanoseconds. tiny units, huge vibes πŸ”₯
  • pmd_adj_divisor β€” the divisor used to calculate PDM alignment adjustment. she divides, she slays πŸ’…
  • rx_fixed_delay β€” the fixed Rx latency, also measured in 1/100th nanoseconds. matching set, we love a coordinated moment πŸŽ€

πŸ’– Description πŸ’–

so what IS this thing? it's a table of constants used as part of the Vernier calibration of the Tx and Rx timestamps. literally the cheat sheet for getting your timestamps calibrated correctly. πŸ•°οΈβœ¨

that includes:

  • the frequency values used to compute TUs per PAR/PCS clock cycle
  • the static delay values that were measured during hardware design
⚠️ important caveat bestie, don't skip this one: some values are not used for all link speeds, and the P_REG_DESK_PAR* registers may represent different clock markers at different link speeds β€” either the deskew marker for multi-lane link speeds, or the Reed Solomon gearbox marker for RS-FEC. so like... same register name, different meaning depending on speed. iykyk πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

go touch grass in these files and functions, they're all connected bestie:


πŸŽ€ cute sign-off πŸŽ€

that's the whole page, fr fr. sourced from ./drivers/net/ethernet/intel/ice, dated October 2026, living under that Kernel API Manual umbrella as struct ice_v...er_info_e82x(9). go calibrate those timestamps, bestie β€” you're gonna slay πŸ’œπŸŒˆπŸ¦‹

πŸ“¦ where this page comes from