mpi_ssp_completion(9)
β¨ mpi_ssp_completion β¨
okay so real talk, this is a page from the Kernel API Manual and it's honestly a little iconic π
we're talking about mpi_ssp_completion(9) β the function that handles the moment firmware slides into your mentions to say "hey bestie, that SSP request? done β
"
π NAME π
mpi_ssp_completion β the one that processes the event that FW response to the SSP request π« (yes we're keeping the original phrasing vibes, it's giving kernel-speak and we respect it)
π¦ SYNOPSIS π¦
void mpi_ssp_completion (struct pm8001_hba_info *pm8001_ha , void *piomb );
like, that's the whole signature. short king π
πΈ ARGUMENTS πΈ
pm8001_haβ our hba card information π«Ά this is our card, the main characterpiombβ the message contents of this outbound message π¨ literally the whole lil payload
π DESCRIPTION π
okay so picture this: FW has completed a ssp request β for example a IO request β and after it has filled the SG data with the data, it will trigger this event representing that he has finished the job π no cap, the job is done done.
so yeah, at that point: please check the corresponding buffer π (this is not optional bestie, that's the homework).
and then we will tell the caller β who maybe waiting the result β to tell upper layer that the task has been finished π periodt. the waiting caller gets their lil answer, the upper layer gets the news, everybody eats.
π₯ SEE ALSO π₯
kernel file ./drivers/scsi/pm8001/pm80xx_hwi.c β go read it, iykyk π
and now the friend group, in full, nobody left behind:
read_main_config_table(9)read_general_status_table(9)read_phy_attr_table(9)read_inbnd_queue_table(9)read_outbnd_queue_table(9)init_default_table_values(9)update_main_config_table(9)update_inbnd_queue_table(9)update_outbnd_queue_table(9)mpi_init_check(9)check_fw_ready(9)pm80xx_set_thermal_config(9)pm80xx_set_sas_protocol_timer_config(9)pm80xx_get_encrypt_info(9)pm80xx_encrypt_update(9)pm80xx_chip_init(9)pm80xx_fatal_error_uevent_emit(9)pm80xx_fatal_errors(9)pm80xx_chip_soft_rst(9)pm80xx_chip_interrupt_enable(9)pm80xx_chip_interrupt_disable(9)pm80xx_hw_event_ack_req(9)hw_event_sas_phy_up(9)hw_event_sata_phy_up(9)hw_event_phy_down(9)mpi_thermal_hw_event(9)mpi_hw_event(9)mpi_phy_stop_resp(9)mpi_set_controller_config_resp(9)mpi_get_controller_config_resp(9)mpi_get_phy_profile_resp(9)mpi_flash_op_ext_resp(9)mpi_set_phy_profile_resp(9)mpi_kek_management_resp(9)mpi_dek_management_resp(9)ssp_coalesced_comp_resp(9)process_one_iomb(9)pm80xx_chip_smp_req(9)pm80xx_chip_ssp_io_req(9)pm80xx_chip_phy_start_req(9)pm80xx_chip_phy_stop_req(9)pm80xx_chip_phy_ctl_req(9)pm80xx_chip_isr(9)
bestie this page lives at ./drivers/scsi/pm8001 and it's stamped October 2026 β yes, it's from the future, we don't ask questions π§π go forth and check that buffer, ily, 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