_base_put_s..._path_atomic(9)
π
_base_put_s..._path_atomic(9) β from your Kernel API Manual bestie
Okay so picture this: it's the Kernel API Manual, and the main character of today's episode is _base_put_s..._path_atomic(9) (yes the title is literally truncated like that, that's just how it is, we don't ask questions π). She's a little function, she's got a big job, and she's about to be explained to you in group-chat format. Buckle up bestie. π¦
β¨ NAME β¨
_base_put_smid_fast_path_atomic β sends a fast path request to the firmware using an Atomic Request Descriptor. That's the whole vibe. She puts the smid, she's atomic about it, she talks to firmware. Periodt. π
πΈ SYNOPSIS πΈ
void _base_put_smid_fast_path_atomic (struct MPT3SAS_ADAPTER *ioc , u16
smid , u16 handle );
Look at her. Void return, three args, absolutely no notes. Iconic behaviour only. β¨
π ARGUMENTS π
iocβ the per adapter object π honestly the main character of the whole struct, she's per-adapter and she knows it.smidβ the system request message index. This is the actual index she's here to put. Keep it safe, keep it precious. π«Άhandleβ device handle. And here's the tea: it's unused in this function. She's only in the signature so the function type matches up with her siblings. Not me keeping a parameter I literally never touch π but fr fr that's the reason, for function type match.
π RETURN π
nothing. That's it. She returns nothing. Void. Empty. She does her little firmware whisper and leaves. No cap. π
π₯ SEE ALSO π₯
Okay bestie this list is long long, like a whole friend group, everyone's invited, nobody's getting left out. Every single one of these is exactly as it appeared, no edits, no shortcuts, no "β¨". π
mpt3sas_base_check_cmd_timeout(9), _scsih_set_fwfault_debug(9),
_base_readl_aero(9), _base_clone_reply_to_sys_mem(9),
_base_clone_mpi_to_sys_mem(9), _base_clone_to_sys_mem(9),
_base_get_chain(9), _base_get_chain_phys(9), _base_get_buffer_bar0(9),
_base_get_buffer_phys_bar0(9),
_base_get_chain_buffer_dma_to_chain_buffer(9), _clone_sg_entries(9),
mpt3sas_remove_dead_ioc_func(9), _base_sync_drv_fw_timestamp(9),
_base_fault_reset_work(9), mpt3sas_base_start_watchdog(9),
mpt3sas_base_stop_watchdog(9), mpt3sas_base_fault_info(9),
mpt3sas_base_coredump_info(9),
mpt3sas_base_wait_for_coredump_completion(9), mpt3sas_halt_firmware(9),
_base_sas_ioc_info(9), _base_display_event_data(9),
_base_sas_log_info(9), _base_display_reply_info(9),
mpt3sas_base_done(9), _base_async_event(9), _base_get_cb_idx(9),
mpt3sas_base_pause_mq_polling(9), mpt3sas_base_resume_mq_polling(9),
mpt3sas_base_mask_interrupts(9), mpt3sas_base_unmask_interrupts(9),
_base_process_reply_queue(9), mpt3sas_blk_mq_poll(9),
_base_interrupt(9), _base_irqpoll(9), _base_init_irqpolls(9),
_base_is_controller_msix_enabled(9), mpt3sas_base_sync_reply_irqs(9),
mpt3sas_base_release_callback_handler(9),
mpt3sas_base_register_callback_handler(9),
mpt3sas_base_initialize_callback_handler(9),
_base_build_zero_len_sge(9), _base_add_sg_single_32(9),
_base_add_sg_single_64(9), _base_get_chain_buffer_tracker(9),
_base_build_sg(9), _base_build_nvme_prp(9), base_make_prp_nvme(9),
_base_check_pcie_native_sgl(9), _base_add_sg_single_ieee(9),
_base_build_zero_len_sge_ieee(9), _base_build_sg_scmd(9),
_base_build_sg_scmd_ieee(9), _base_build_sg_ieee(9),
_base_config_dma_addressing(9), _base_check_enable_msix(9),
mpt3sas_base_free_irq(9), _base_request_irq(9),
_base_assign_reply_queues(9),
_base_check_and_enable_high_iops_queues(9),
mpt3sas_base_disable_msix(9), _base_alloc_irq_vectors(9),
_base_enable_msix(9), mpt3sas_base_unmap_resources(9),
mpt3sas_base_check_for_fault_and_issue_reset(9),
mpt3sas_base_map_resources(9), mpt3sas_base_get_msg_frame(9),
mpt3sas_base_get_sense_buffer(9), mpt3sas_base_get_sense_buffer_dma(9),
mpt3sas_base_get_pcie_sgl(9), mpt3sas_base_get_pcie_sgl_dma(9),
mpt3sas_base_get_reply_virt_addr(9), _base_get_msix_index(9),
_base_get_high_iops_msix_index(9), mpt3sas_base_get_smid(9),
mpt3sas_base_get_smid_scsiio(9), mpt3sas_base_get_smid_hpr(9),
mpt3sas_base_free_smid(9), _base_mpi_ep_writeq(9), _base_writeq(9),
_base_set_and_get_msix_index(9), _base_put_smid_mpi_ep_scsi_io(9),
_base_put_smid_scsi_io(9), _base_put_smid_fast_path(9),
_base_put_smid_hi_priority(9), mpt3sas_base_put_smid_nvme_encap(9),
_base_put_smid_default(9), _base_put_smid_scsi_io_atomic(9),
_base_put_smid_hi_priority_atomic(9), _base_put_smid_default_atomic(9),
_base_display_OEMs_branding(9), _base_display_fwpkg_version(9),
_base_display_ioc_capabilities(9), mpt3sas_base_update_missing_delay(9),
_base_update_ioc_page1_inlinewith_perf_mode(9),
_base_get_event_diag_triggers(9), _base_get_scsi_diag_triggers(9),
_base_get_mpi_diag_triggers(9), _base_get_master_diag_triggers(9),
_base_check_for_trigger_pages_support(9), _base_get_diag_triggers(9),
_base_update_diag_trigger_pages(9), _base_assign_fw_reported_qd(9),
mpt3sas_atto_validate_nvram(9), mpt3sas_atto_get_sas_addr(9),
mpt3sas_atto_init(9), _base_static_config_pages(9),
mpt3sas_free_enclosure_list(9), _base_release_memory_pools(9),
mpt3sas_check_same_4gb_region(9), _base_reduce_hba_queue_depth(9),
_base_allocate_pcie_sgl_pool(9), _base_allocate_chain_dma_pool(9),
_base_allocate_sense_dma_pool(9), _base_allocate_reply_pool(9),
_base_allocate_reply_free_dma_pool(9),
_base_allocate_reply_post_free_array(9), base_alloc_rdpq_dma_pool(9),
_base_allocate_memory_pools(9), mpt3sas_base_get_iocstate(9),
_base_wait_on_iocstate(9), _base_dump_reg_set(9),
_base_wait_for_doorbell_int(9), _base_wait_for_doorbell_ack(9),
_base_wait_for_doorbell_not_used(9), _base_send_ioc_reset(9),
mpt3sas_wait_for_ioc(9), _base_handshake_req_reply_wait(9),
mpt3sas_base_sas_iounit_control(9),
mpt3sas_base_scsi_enclosure_processor(9), _base_get_port_facts(9),
_base_wait_for_iocstate(9), _base_get_ioc_facts(9),
_base_send_ioc_init(9), mpt3sas_port_enable_done(9),
_base_send_port_enable(9), mpt3sas_port_enable(9),
_base_determine_wait_on_discovery(9), _base_unmask_events(9),
_base_event_notification(9), mpt3sas_base_validate_event_type(9),
mpt3sas_base_unlock_and_get_host_diagnostic(9),
mpt3sas_base_lock_host_diagnostic(9), _base_diag_reset(9),
mpt3sas_base_make_ioc_ready(9), _base_make_ioc_operational(9),
mpt3sas_base_free_resources(9), mpt3sas_base_attach(9),
mpt3sas_base_detach(9), _base_pre_reset_handler(9),
_base_clear_outstanding_mpt_commands(9),
_base_clear_outstanding_commands(9), _base_reset_done_handler(9),
mpt3sas_wait_for_commands_to_complete(9),
_base_check_ioc_facts_changes(9), mpt3sas_base_hard_reset_handler(9)
π«Ά Also, you can literally go read her source, she lives at Kernel file ./drivers/scsi/mpt3sas/mpt3sas_base.c. Go say hi. She'd love that.
π§ the little sign-off π§
So yeah, that's the whole page bestie β she lives in ./drivers/scsi/mpt3sas, and this manual page is dated October 2026. Screenshot it, memorise the unused handle parameter so you can explain it at parties, and go be the most knowledgeable person in the group chat. πβ¨ππ¦πΈπ
π«Άπβπ
π¦ 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