STRUCT ICE_ETH56G_MAC_REG_CFG(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’– NAME ๐Ÿ’–

struct ice_eth56g_mac_reg_cfg โ€” the MAC config values for specific PTP registers, bestie ๐Ÿ’… (this is from the Kernel API Manual, and yes, it slays)


โœจ SYNOPSIS โœจ

okay so here's the whole struct, no cap:

struct ice_eth56g_mac_reg_cfg {
    struct {
      u8 def;
      u8 rs;
    } tx_mode;
    u8 tx_mk_dly;
    struct {
      u8 def;
      u8 onestep;
    } tx_cw_dly;
    struct {
      u8 def;
      u8 rs;
    } rx_mode;
    struct {
      u8 def;
      u8 rs;
    } rx_mk_dly;
    struct {
      u8 def;
      u8 rs;
    } rx_cw_dly;
    u8 blks_per_clk;
    u16 blktime;
    u16 mktime;
    struct {
      u32 serdes;
      u32 no_fec;
      u32 fc;
      u32 rs;
      u32 sfd;
      u32 onestep;
    } tx_offset;
    struct {
      u32 serdes;
      u32 no_fec;
      u32 fc;
      u32 rs;
      u32 sfd;
      u32 bs_ds;
    } rx_offset;
 };

๐ŸŽ€ MEMBERS ๐ŸŽ€

  • tx_mode โ€” the Tx timestamp compensation mode, periodt โœจ
  • tx_mk_dly โ€” Tx timestamp marker start strobe delay ๐Ÿ•
  • tx_cw_dly โ€” Tx timestamp codeword start strobe delay ๐Ÿ•
  • rx_mode โ€” the Rx timestamp compensation mode ๐Ÿ’ซ
  • rx_mk_dly โ€” Rx timestamp marker start strobe delay ๐Ÿ•
  • rx_cw_dly โ€” Rx timestamp codeword start strobe delay ๐Ÿ•
  • blks_per_clk โ€” the number of blocks transferred per clock cycle ๐Ÿ”ฅ
  • blktime โ€” block time, fixed point ๐Ÿงฎ
  • mktime โ€” marker time, fixed point ๐Ÿงฎ
  • tx_offset โ€” total Tx offset, fixed point ๐ŸŽฏ
  • rx_offset โ€” total Rx offset, contains value for bitslip/deskew, fixed point ๐ŸŽฏ

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

okay so here's the tea on the numerics โ˜• โ€” all the fixed point registers except Rx offset are 23 bit unsigned ints with a 9 bit fractional. and Rx offset? she's different ๐Ÿ’… โ€” she's an 11 bit unsigned int with a 9 bit fractional. iykyk ๐Ÿซถ


๐ŸŒˆ SEE ALSO ๐ŸŒˆ

kernel file ./drivers/net/ethernet/intel/ice/ice_ptp_hw.h struct ice_phy_reg_info_eth56g(9), struct ice_time_ref_info_e82x(9), struct ice_vernier_info_e82x(9), ice_e82x_time_ref(9), ice_set_e82x_time_ref(9), ice_get_base_incval(9) โ€” go read those next, they're iconic ๐Ÿ‘‘


and that's the whole page bestie, we ate and left no crumbs ๐Ÿ“โœจ โ€” source/version: ./drivers/net/ethernet/intel/ice, dated October 2026, struct ice_..._mac_reg_cfg(9) signing off ๐Ÿ’œ๐Ÿงš

๐Ÿ“ฆ where this page comes from