_base_put_s..._path_atomic(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… _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