mpt3sas_con...s_iounit_pg1(9)
π mpt3sas_con...s_iounit_pg1(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β this is the page for mpt3sas_config_set_sas_iounit_pg1, and yes the title is lowkey truncated with ... but that's just how it's filed, we don't fight the filename, we respect the filename π«Ά
β¨ NAME β¨
mpt3sas_config_set_sas_iounit_pg1 β send sas iounit page 1 π
πΈ SYNOPSIS πΈ
int mpt3sas_config_set_sas_iounit_pg1 (struct MPT3SAS_ADAPTER *ioc ,
Mpi2ConfigReply_t *mpi_reply , Mpi2SasIOUnitPage1_t *config_page , u16
sz );
that's the whole signature, no cap, type it exactly like that π₯
π ARGUMENTS π
iocβ the per adapter object π§ this is your adapter's whole personality, basically.mpi_replyβ the reply mf payload that gets returned from firmware π¨ like firmware slid into your DMs with an answer.config_pageβ the contents of the config page. this is the actual stuff, the payload, the main character πszβ the size of the buffer you passed inconfig_page. yes you gotta tell it how big your buffer is, it's not gonna guess π
π CONTEXT π
sleep. π΄ that's it, that's the context. it sleeps.
π¦ DESCRIPTION π¦
okay so here's the thing the calling function needs to do first: it should call config_get_number_hba_phys prior to this function, so that enough memory is allocated for config_page π like, do the prep work first bestie, don't show up to the function with an undersized buffer, it's giving unprepared π
π RETURN π
0β success, slay, we ate β¨- non-zero β failure, we did not eat π
β SEE ALSO β
the whole friend group, fr fr β Kernel file ./drivers/scsi/mpt3sas/mpt3sas_config.c and all of these icons:
struct config_request(9)_config_display_some_debug(9)_config_alloc_config_dma_memory(9)_config_free_config_dma_memory(9)mpt3sas_config_done(9)_config_request(9)mpt3sas_config_get_manufacturing_pg0(9)mpt3sas_config_get_manufacturing_pg1(9)mpt3sas_config_get_manufacturing_pg10(9)mpt3sas_config_get_manufacturing_pg11(9)mpt3sas_config_set_manufacturing_pg11(9)mpt3sas_config_get_bios_pg2(9)mpt3sas_config_get_bios_pg3(9)mpt3sas_config_set_bios_pg4(9)mpt3sas_config_get_bios_pg4(9)mpt3sas_config_get_iounit_pg0(9)mpt3sas_config_get_iounit_pg1(9)mpt3sas_config_set_iounit_pg1(9)mpt3sas_config_get_iounit_pg3(9)mpt3sas_config_get_iounit_pg7(9)mpt3sas_config_get_iounit_pg8(9)mpt3sas_config_get_ioc_pg8(9)mpt3sas_config_get_ioc_pg1(9)mpt3sas_config_set_ioc_pg1(9)mpt3sas_config_get_sas_device_pg0(9)mpt3sas_config_get_pcie_device_pg0(9)mpt3sas_config_get_pcie_iounit_pg1(9)mpt3sas_config_get_pcie_device_pg2(9)mpt3sas_config_get_number_hba_phys(9)mpt3sas_config_get_sas_iounit_pg0(9)mpt3sas_config_get_sas_iounit_pg1(9)mpt3sas_config_get_expander_pg0(9)mpt3sas_config_get_expander_pg1(9)mpt3sas_config_get_enclosure_pg0(9)mpt3sas_config_get_phy_pg0(9)mpt3sas_config_get_phy_pg1(9)mpt3sas_config_get_raid_volume_pg1(9)mpt3sas_config_get_number_pds(9)mpt3sas_config_get_raid_volume_pg0(9)mpt3sas_config_get_phys_disk_pg0(9)mpt3sas_config_get_driver_trigger_pg0(9)_config_set_driver_trigger_pg0(9)mpt3sas_config_update_driver_trigger_pg0(9)mpt3sas_config_get_driver_trigger_pg1(9)_config_set_driver_trigger_pg1(9)mpt3sas_config_update_driver_trigger_pg1(9)mpt3sas_config_get_driver_trigger_pg2(9)_config_set_driver_trigger_pg2(9)mpt3sas_config_update_driver_trigger_pg2(9)mpt3sas_config_get_driver_trigger_pg3(9)_config_set_driver_trigger_pg3(9)mpt3sas_config_update_driver_trigger_pg3(9)mpt3sas_config_get_driver_trigger_pg4(9)_config_set_driver_trigger_pg4(9)mpt3sas_config_update_driver_trigger_pg4(9)mpt3sas_config_get_volume_handle(9)mpt3sas_config_get_volume_wwid(9)
that's the whole page bestie, go forth and set that sas iounit page 1 π¦π
ngl the vibe check is: prep withconfig_get_number_hba_physfirst, or yourconfig_pagebuffer is gonna have a bad time π
kisses, this came from ./drivers/scsi/mpt3sas and is dated October 2026 β filed under mpt3sas_con...s_iounit_pg1(9) πβ¨
π¦ 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