UNION IONIC_DEV_INFO_REGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– union ionic_dev_info_regs(9) β€” the device info register format (read-only) πŸ’–

okay so bestie, welcome to the Kernel API Manual, and today's main character is union ionic_dev_info_regs β€” the device info register format. it's read-only babes, so don't even think about writing to it. we're looking, not touching. πŸ‘€βœ¨


🌸 SYNOPSIS 🌸

union ionic_dev_info_regs {
  #define IONIC_DEVINFO_FWVERS_BUFLEN 32;
  #define IONIC_DEVINFO_SERIAL_BUFLEN 32;
    struct {
      u32 signature;
      u8 version;
      u8 asic_type;
      u8 asic_rev;
  #define IONIC_FW_STS_F_RUNNING          0x01;
  #define IONIC_FW_STS_F_GENERATION       0xF0;
      u8 fw_status;
      u32 fw_heartbeat;
      char fw_version[IONIC_DEVINFO_FWVERS_BUFLEN];
      char serial_num[IONIC_DEVINFO_SERIAL_BUFLEN];
      u8 rsvd_pad1024[948];
      struct ionic_hwstamp_regs hwstamp;
    };
    u32 words[512];
 };

like, look at her. she's a union, she's got defines living inside her, she's got a nested anonymous struct β€” iconic behavior honestly. πŸ’…


πŸŽ€ Members πŸŽ€

  • {unnamed_struct} β€” anonymous. no name, no problem. she simply exists. 🫢
  • signature β€” the signature value, and it's 0x44455649 which spells out 'DEVI'. not me getting emotional over a hex constant spelling a word 😭
  • version β€” the current version of info. keep up bestie.
  • asic_type β€” the Asic type.
  • asic_rev β€” the Asic revision.
  • fw_status β€” the firmware status. and listen, it's doing two jobs at once: bit 0 is 1 = fw running, and bits 4-7 are the 4 bit generation number, which changes on fw restart. so like, one byte, two whole personalities. πŸ’€
  • fw_heartbeat β€” the firmware heartbeat counter. it's alive!! she's thriving!! πŸ’“
  • fw_version β€” the firmware version.
  • serial_num β€” the serial number. every device's little name tag 🏷️
  • rsvd_pad1024 β€” reserved byte(s). it's just... reserved. sitting there. 948 bytes of "don't perceive me" πŸ™ˆ
  • hwstamp β€” the hardware current timestamp registers. clock it ⏰
  • words β€” word access to struct contents, u32 words[512] of pure versatility. slay.

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, fr fr. first up, the kernel file herself: ./drivers/net/ethernet/pensando/ionic/ionic_if.h β€” everyone below lives there, iykyk.

  • struct ionic_admin_cmd(9)
  • struct ionic_admin_comp(9)
  • struct ionic_nop_cmd(9)
  • struct ionic_nop_comp(9)
  • struct ionic_dev_init_cmd(9)
  • struct ionic_dev_init_comp(9)
  • struct ionic_dev_reset_cmd(9)
  • struct ionic_dev_reset_comp(9)
  • struct ionic_dev_identify_cmd(9)
  • struct ionic_dev_identify_comp(9)
  • union ionic_drv_identity(9)
  • enum ionic_dev_capability(9)
  • union ionic_dev_identity(9)
  • struct ionic_lif_identify_cmd(9)
  • struct ionic_lif_identify_comp(9)
  • enum ionic_lif_capability(9)
  • enum ionic_logical_qtype(9)
  • enum ionic_q_feature(9)
  • enum ionic_rxq_feature(9)
  • enum ionic_txq_feature(9)
  • enum ionic_hwstamp_bits(9)
  • struct ionic_lif_logical_qtype(9)
  • enum ionic_lif_state(9)
  • union ionic_lif_config(9)
  • enum ionic_lif_rdma_cap_stats(9)
  • union ionic_lif_identity(9)
  • struct ionic_lif_init_cmd(9)
  • struct ionic_lif_init_comp(9)
  • struct ionic_q_identify_cmd(9)
  • struct ionic_q_identify_comp(9)
  • union ionic_q_identity(9)
  • struct ionic_q_init_cmd(9)
  • struct ionic_q_init_comp(9)
  • struct ionic_txq_desc(9)
  • struct ionic_txq_sg_elem(9)
  • struct ionic_txq_sg_desc(9)
  • struct ionic_txq_comp(9)
  • struct ionic_rxq_desc(9)
  • struct ionic_rxq_sg_elem(9)
  • struct ionic_rxq_sg_desc(9)
  • struct ionic_rxq_comp(9)
  • enum ionic_pkt_class(9)
  • struct ionic_q_control_cmd(9)
  • enum ionic_phy_type(9)
  • enum ionic_xcvr_state(9)
  • enum ionic_port_type(9)
  • enum ionic_port_admin_state(9)
  • enum ionic_port_oper_status(9)
  • enum ionic_port_fec_type(9)
  • enum ionic_port_pause_type(9)
  • enum ionic_port_loopback_mode(9)
  • struct ionic_xcvr_status(9)
  • union ionic_port_config(9)
  • struct ionic_port_status(9)
  • struct ionic_port_identify_cmd(9)
  • struct ionic_port_identify_comp(9)
  • struct ionic_port_init_cmd(9)
  • struct ionic_port_init_comp(9)
  • struct ionic_port_reset_cmd(9)
  • struct ionic_port_reset_comp(9)
  • enum ionic_stats_ctl_cmd(9)
  • enum ionic_txstamp_mode(9)
  • enum ionic_port_attr(9)
  • struct ionic_port_setattr_cmd(9)
  • struct ionic_port_setattr_comp(9)
  • struct ionic_port_getattr_cmd(9)
  • struct ionic_port_getattr_comp(9)
  • struct ionic_lif_status(9)
  • struct ionic_lif_reset_cmd(9)
  • enum ionic_dev_attr(9)
  • struct ionic_dev_setattr_cmd(9)
  • struct ionic_dev_setattr_comp(9)
  • struct ionic_dev_getattr_cmd(9)
  • struct ionic_dev_getattr_comp(9)
  • enum ionic_lif_attr(9)
  • struct ionic_lif_setattr_cmd(9)
  • struct ionic_lif_setattr_comp(9)
  • struct ionic_lif_getattr_cmd(9)
  • struct ionic_lif_getattr_comp(9)
  • struct ionic_lif_setphc_cmd(9)
  • struct ionic_rx_mode_set_cmd(9)
  • struct ionic_rx_filter_add_cmd(9)
  • struct ionic_rx_filter_add_comp(9)
  • struct ionic_rx_filter_del_cmd(9)
  • enum ionic_vf_link_status(9)
  • struct ionic_vf_setattr_cmd(9)
  • struct ionic_vf_getattr_cmd(9)
  • struct ionic_vf_ctrl_cmd(9)
  • struct ionic_vf_ctrl_comp(9)
  • struct ionic_discover_cmb_cmd(9)
  • struct ionic_discover_cmb_comp(9)
  • union ionic_cmb_region(9)
  • union ionic_discover_cmb_identity(9)
  • struct ionic_qos_identify_cmd(9)
  • struct ionic_qos_identify_comp(9)
  • enum ionic_qos_class_type(9)
  • enum ionic_qos_sched_type(9)
  • union ionic_qos_config(9)
  • union ionic_qos_identity(9)
  • struct ionic_qos_init_cmd(9)
  • struct ionic_qos_reset_cmd(9)
  • struct ionic_qos_clear_stats_cmd(9)
  • struct ionic_fw_download_cmd(9)
  • enum ionic_fw_control_oper(9)
  • struct ionic_fw_control_cmd(9)
  • struct ionic_fw_control_comp(9)
  • struct ionic_rdma_reset_cmd(9)
  • struct ionic_rdma_queue_cmd(9)
  • struct ionic_notifyq_event(9)
  • struct ionic_link_change_event(9)
  • struct ionic_reset_event(9)
  • struct ionic_heartbeat_event(9)
  • struct ionic_log_event(9)
  • struct ionic_xcvr_event(9)
  • union ionic_port_identity(9)
  • struct ionic_port_info(9)
  • struct ionic_lif_info(9)
  • struct ionic_hwstamp_regs(9)
  • union ionic_dev_cmd_regs(9)
  • union ionic_dev_regs(9)
  • struct ionic_doorbell(9)

like yeah. that's the whole squad. no cap, every single one of them 🌈


quick vibe check: this page lives at ./drivers/net/ethernet/pensand... and it's dated October 2026, and the manual is union ionic_dev_info_regs(9) β€” so yeah, go read the whole ionic friend group, they all ate and left no crumbs. βœ¨πŸ“πŸ§šπŸ’œ
πŸ“¦ where this page comes from