mpi3mr_init_ioc(9)
π NAME π
Okay bestie, meet mpi3mr_init_ioc(9) β yes, that's the manual name, and it's from the Kernel API Manual, no cap. She's the one who initializes the controller. Iconic behavior only. π
β¨ SYNOPSIS β¨
int mpi3mr_init_ioc (struct mpi3mr_ioc *mrioc );
πΈ ARGUMENTS πΈ
mriocβ Adapter instance reference. That's the whole argument, bestie, and she's kind of a big deal. π«Ά
π¦ DESCRIPTION π¦
This is the controller initialization routine, and she runs either after a soft reset or from the pci probe callback. Her whole main-character checklist is: set up the required resources, memory-map the controller registers, create admin and operational reply queue pairs, allocate the required memory for the reply pool and the sense buffer pool, issue the IOC init request to the firmware, unmask the events, and issue port enable to discover SAS/SATA/NVMe devices and RAID volumes. Periodt. β¨
π RETURN π
Returns 0 on success and non-zero on failure. That's the vibe check, and yes, non-zero means something went sideways. π
π SEE ALSO π
Kernel file: ./drivers/scsi/mpi3mr/mpi3mr_fw.c β literally that exact path, bestie.
mpi3mr_get_reply_desc(9)mpi3mr_process_op_reply_q(9)mpi3mr_blk_mq_poll(9)mpi3mr_isr_poll(9)mpi3mr_request_irq(9)mpi3mr_setup_isr(9)mpi3mr_reset_rc_name(9)mpi3mr_reset_type_name(9)mpi3mr_is_fault_recoverable(9)mpi3mr_print_fault_info(9)mpi3mr_save_fault_info(9)mpi3mr_get_iocstate(9)mpi3mr_free_ioctl_dma_memory(9)mpi3mr_alloc_ioctl_dma_memory(9)mpi3mr_fault_uevent_emit(9)mpi3mr_clear_reset_history(9)mpi3mr_issue_and_process_mur(9)mpi3mr_revalidate_factsdata(9)mpi3mr_bring_ioc_ready(9)mpi3mr_soft_reset_success(9)mpi3mr_diagfault_success(9)mpi3mr_set_diagsave(9)mpi3mr_issue_reset(9)mpi3mr_admin_request_post(9)mpi3mr_free_op_req_q_segments(9)mpi3mr_free_op_reply_q_segments(9)mpi3mr_delete_op_reply_q(9)mpi3mr_alloc_op_reply_q_segments(9)mpi3mr_alloc_op_req_q_segments(9)mpi3mr_create_op_reply_q(9)mpi3mr_create_op_req_q(9)mpi3mr_create_op_queues(9)mpi3mr_op_request_post(9)mpi3mr_check_rh_fault_ioc(9)mpi3mr_sync_timestamp(9)mpi3mr_print_pkg_ver(9)mpi3mr_watchdog_work(9)mpi3mr_start_watchdog(9)mpi3mr_stop_watchdog(9)mpi3mr_setup_admin_qpair(9)mpi3mr_issue_iocfacts(9)mpi3mr_check_reset_dma_mask(9)mpi3mr_process_factsdata(9)mpi3mr_alloc_reply_sense_bufs(9)mpimr_initialize_reply_sbuf_queues(9)mpi3mr_issue_iocinit(9)mpi3mr_unmask_events(9)mpi3mr_issue_event_notification(9)mpi3mr_process_event_ack(9)mpi3mr_alloc_chain_bufs(9)mpi3mr_port_enable_complete(9)mpi3mr_issue_port_enable(9)mpi3mr_repost_diag_bufs(9)mpi3mr_read_tsu_interval(9)mpi3mr_print_ioc_info(9)mpi3mr_cleanup_resources(9)mpi3mr_setup_resources(9)mpi3mr_enable_events(9)mpi3mr_reinit_ioc(9)mpi3mr_memset_op_reply_q_buffers(9)mpi3mr_memset_op_req_q_buffers(9)mpi3mr_memset_buffers(9)mpi3mr_free_mem(9)mpi3mr_issue_ioc_shutdown(9)mpi3mr_cleanup_ioc(9)mpi3mr_drv_cmd_comp_reset(9)mpi3mr_flush_drv_cmds(9)mpi3mr_pel_wait_post(9)mpi3mr_pel_get_seqnum_post(9)mpi3mr_pel_wait_complete(9)mpi3mr_pel_get_seqnum_complete(9)mpi3mr_check_op_admin_proc(9)mpi3mr_soft_reset_handler(9)mpi3mr_post_cfg_req(9)mpi3mr_process_cfg_req(9)mpi3mr_cfg_get_dev_pg0(9)mpi3mr_cfg_get_sas_phy_pg0(9)mpi3mr_cfg_get_sas_phy_pg1(9)mpi3mr_cfg_get_sas_exp_pg0(9)mpi3mr_cfg_get_sas_exp_pg1(9)mpi3mr_cfg_get_enclosure_pg0(9)mpi3mr_cfg_get_sas_io_unit_pg0(9)mpi3mr_cfg_get_sas_io_unit_pg1(9)mpi3mr_cfg_set_sas_io_unit_pg1(9)mpi3mr_cfg_get_driver_pg1(9)mpi3mr_cfg_get_driver_pg2(9)
This page came from source/version ./drivers/scsi/mpi3mr, dated October 2026 β bye bestie, mwah ππ«Ά
π¦ 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