STRUCT LEAPRAID_SAS_PHY_P0(9)
π 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.hstructleapraid_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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms