STRUCT LEAPRAID_REG_BASE(9)
π struct leapraid_reg_base(9) π
okay so this is the Kernel API Manual page for struct leapraid_reg_base, and bestie, it's literally the whole register map of the LeapRAID controller β like the group chat roster of where every register sits and what it does β¨ no cap, every field matters here π
πΈ NAME πΈ
struct leapraid_reg_base β the register layout of the LeapRAID controller π
π¦ SYNOPSIS π¦
here it is, character for character, don't touch a single byte of it π«Ά
struct leapraid_reg_base {
__le32 db;
__le32 ws;
__le32 host_diag;
__le32 r1[9];
__le32 host_int_status;
__le32 host_int_mask;
__le32 r2[4];
__le32 rep_msg_host_idx;
__le32 r3[13];
__le32 debug_log[LEAPRAID_DEBUGLOG_SZ_MAX];
__le32 r4[2];
__le32 atomic_req_desc_post;
__le32 adapter_log_buf_pos;
__le32 host_log_buf_pos;
__le32 r5[142];
struct leapraid_rep_post_reg_idx {
__le32 idx;
__le32 r1;
__le32 r2;
__le32 r3;
} rep_post_reg_idx[REP_POST_HOST_IDX_REG_CNT];
};
π Members π
okay, field by field, let's get into it β this is the main character energy part of the page π
dbβ the Doorbell register π used to signal commands or status to firmware. yes babe, you ring it, firmware hears it.wsβ the Write sequence register, there to keep doorbell operations synchronized. it's giving traffic cop for doorbell vibes π¦host_diagβ the Diagnostic register, used for status or debug reporting. π©Ίr1β Reserved. π€ (nothing to see here, it's literally just space)host_int_statusβ the Interrupt status register, reporting active interrupts β‘host_int_maskβ the Interrupt mask register, enabling or disabling sources ποΈr2β Reserved. π€rep_msg_host_idxβ the Reply message index for the next available reply slot π¬r3β Reserved. π€debug_logβ the DebugLog registers, for firmware debug and diagnostic output πβ¨r4β Reserved. π€atomic_req_desc_postβ the Atomic register for single descriptor posting βοΈadapter_log_buf_posβ the Adapter log buffer write position πhost_log_buf_posβ the Host log buffer write position πr5β Reserved. π€ (and yes she'sr5[142], we stan a spacious reserved block)rep_post_reg_idxβ an array of reply post index registers, one per queue π₯ and the number of entries is defined byREP_POST_HOST_IDX_REG_CNTβ periodt, that's the constant, don't come for her.
fr fr bestie, all thoser1,r2,r3,r4,r5fields are Reserved β do NOT go writing your little experiments in there π the page says reserved, so they stay reserved.
β SEE ALSO β
the reading list, and it is long, but we're getting through it together π§ iykyk β every single one is here:
- Kernel file
./drivers/scsi/leapraid/leapraid.hstruct 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_sas_phy_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)
and that's the page, bestie π she lives in ./drivers/scsi/leapraid and she's dated October 2026 β go read her, slay, bye πβ¨π
π¦ 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