STRUCT LEAPRAID_SAS_PHY_P0(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ struct leapraid_sas_phy_p0(9) β€” it's giving SAS PHY configuration page 0 ✨

okay so bestie, this page lives in the Kernel API Manual (that's the manual name, we're fancy like that 🌸) and it's literally all about struct leapraid_sas_phy_p0 β€” the SAS PHY configuration page 0. no cap, that's the whole name, and yes it's a struct, and yes it ate πŸ’…


✨ SYNOPSIS ✨

here's the whole glow-up, character for character, don't touch anything:

struct leapraid_sas_phy_p0 {
    struct leapraid_cfg_ext_pg_header header;
    u8 r1[4];
    __le16 attached_dev_hdl;
    u8 r2[6];
    u8 p_link_rate;
    u8 hw_link_rate;
    u8 r3[2];
    __le32 phy_info;
    u8 neg_link_rate;
    u8 r4[3];
 };

like, look at those reserved fields just vibing 😭 they're reserved, they're mysterious, they're doing main character energy in the padding.


πŸŽ€ Members πŸŽ€

okay breaking down the cast of this struct, one by one, because every single one matters:

  • header β€” the extended configuration page header. the ✨ preamble ✨, the intro card, the "hey bestie here's what this page is" of it all.
  • r1 β€” reserved. 😢 just... existing. don't ask, she's reserved.
  • attached_dev_hdl β€” the handle of the attached device 🫢 like a little name tag for whoever's plugged in.
  • r2 β€” reserved. another one. the reserved fields are lowkey multiplying but okay πŸ’€
  • p_link_rate β€” the PHY link rate πŸ”₯ the actual speed vibe.
  • hw_link_rate β€” the hardware supported link rate. so like, the ceiling, the hardware's own limit, what the silicon can actually do πŸ‘‘
  • r3 β€” reserved. (yes. again. we love consistency 🌈)
  • phy_info β€” PHY information. iconic, informative, exactly what it says πŸ’…
  • neg_link_rate β€” the negotiated link rate 🀝 the rate everybody finally agreed on after the negotiation.
  • r4 β€” reserved. the final reserved. the outro. the "thanks for coming to my TED talk" 🎬
none of those reserved fields are documented as anything other than reserved, so respectfully, leave them alone πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

this is the part where the page links literally every cousin in the family, and honestly? the way that this list goes on, it's giving family reunion 🧚

first up, the kernel file reference:

  • Kernel file ./drivers/scsi/leapraid/leapraid.h struct leapraid_reg_base(9)

and now the full guest list, all of these are (9) pages, in the order the original gives them, no skipping, no summarising, periodt:

  • struct leapraid_atomic_req_desc(9)
  • union leapraid_rep_desc_union(9)
  • struct leapraid_req(9)
  • struct leapraid_rep(9)
  • struct leapraid_sge_simple32(9)
  • struct leapraid_sge_simple64(9)
  • struct leapraid_sge_simple_union(9)
  • struct leapraid_sge_chain_union(9)
  • struct leapraid_ieee_sge_simple32(9)
  • struct leapraid_ieee_sge_simple64(9)
  • union leapraid_ieee_sge_simple_union(9)
  • union leapraid_ieee_sge_chain_union(9)
  • struct leapraid_chain64_ieee_sg(9)
  • union leapraid_ieee_sge_io_union(9)
  • union leapraid_simple_sge_union(9)
  • union leapraid_sge_io_union(9)
  • struct leapraid_cfg_pg_header(9)
  • struct leapraid_cfg_ext_pg_header(9)
  • struct leapraid_cfg_req(9)
  • struct leapraid_cfg_rep(9)
  • struct leapraid_boot_dev_format_sas_wwid(9)
  • struct leapraid_boot_dev_format_enc_slot(9)
  • struct leapraid_boot_dev_format_dev_name(9)
  • union leapraid_boot_dev_format(9)
  • struct leapraid_manufacturing_p0(9)
  • struct leapraid_bios_page2(9)
  • struct leapraid_bios_page3(9)
  • struct leapraid_raidvol0_phys_disk(9)
  • struct leapraid_raidvol_p0(9)
  • struct leapraid_raidvol_p1(9)
  • struct leapraid_raidpd_p0(9)
  • struct leapraid_sas_io_unit0_phy_info(9)
  • struct leapraid_sas_io_unit_p0(9)
  • struct leapraid_exp_p0(9)
  • struct leapraid_exp_p1(9)
  • struct leapraid_sas_dev_p0(9)
  • struct leapraid_enc_p0(9)
  • struct leapraid_raid_cfg_p0_element(9)
  • struct leapraid_raid_cfg_p0(9)
  • union leapraid_mpi_scsi_io_cdb_union(9)
  • struct leapraid_mpi_scsiio_req(9)
  • union leapraid_scsi_io_cdb_union(9)
  • struct leapraid_scsiio_req(9)
  • struct leapraid_scsiio_rep(9)
  • struct leapraid_scsi_tm_req(9)
  • struct leapraid_scsi_tm_rep(9)
  • struct leapraid_sep_req(9)
  • struct leapraid_sep_rep(9)
  • struct leapraid_adapter_init_req(9)
  • struct leapraid_rep_desc_q_arr(9)
  • struct leapraid_adapter_init_rep(9)
  • struct leapraid_adapter_log_req(9)
  • struct leapraid_adapter_log_rep(9)
  • struct leapraid_adapter_features_req(9)
  • struct leapraid_adapter_features_rep(9)
  • struct leapraid_scan_dev_req(9)
  • struct leapraid_scan_dev_rep(9)
  • struct leapraid_evt_notify_req(9)
  • struct leapraid_evt_notify_rep(9)
  • struct leapraid_evt_data_sas_dev_status_change(9)
  • struct leapraid_evt_data_ir_change(9)
  • struct leapraid_evt_data_sas_disc(9)
  • struct leapraid_evt_sas_topo_phy_entry(9)
  • struct leapraid_evt_data_sas_topo_change_list(9)
  • struct leapraid_evt_data_sas_enc_dev_status_change(9)
  • struct leapraid_io_unit_ctrl_req(9)
  • struct leapraid_io_unit_ctrl_rep(9)
  • struct leapraid_raid_act_req(9)
  • struct leapraid_raid_act_rep(9)
  • struct leapraid_smp_passthrough_req(9)
  • struct leapraid_smp_passthrough_rep(9)
  • struct leapraid_sas_io_unit_ctrl_req(9)

like, that's the whole friend group, iykyk πŸ’œ


and that's the page!! πŸŽ€ before you go β€” the source lives over in ./drivers/scsi/leapraid and the date stamp on this whole thing is October 2026, so like, mark your calendars bestie πŸ—“οΈβœ¨ mwah, go read some kernel headers, ily 🫢

πŸ“¦ where this page comes from