megasas_get_device_list(9)
π¦ megasas_get_device_list(9) β the Kernel API Manual glow-up
okay so bestie, this is a page from the Kernel API Manual β the megasas_get_device_list(9) entry specifically β and honestly? it's a little function with a big job. let's get into it π«Ά
β¨ NAME β¨
megasas_get_device_list β literally just: get the PD and LD device list from FW. that's the whole vibe. PD = physical devices, LD = logical devices, FW = firmware. she fetches the roster π
π SYNOPSIS π
int megasas_get_device_list (struct megasas_instance *instance );
returns an int. that's it, that's the signature.
π ARGUMENTS π
instanceβ the adapter soft state. like, the entire personality and state of the controller, passed in as a pointer. she needs the context, she's not doing guesswork πββοΈ
β RETURN β
Success or failure. that's the range, bestie β int flavored, no cap.
π₯ DESCRIPTION π₯
so here's the tea β: this function issues DCMDs to Firmware to get the PD and LD list. she's literally sliding into firmware's DMs asking "hey bestie, who's on the device list rn?"
and because firmware is not a monolith (derogatory), the driver flexes based on FW support:
- depending on what the firmware can handle, the driver sends
HOST_DEVICE_LIST - or a combination of
PD_LIST/LD_LIST_QUERYDCMDs
either way, the goal is the device list. different routes, same destination. it's giving "two ways to get the same info and both are iconic" β¨
ngl this is one of those functions where the description is short but the implications are huge β everything downstream depends on her actually getting that list back π
π SEE ALSO π
first up, the kernel file herself:
./drivers/scsi/megaraid/megaraid_sas_base.c
and now the entire megaraid_sas extended family, in order, nobody left behind, everyone invited to the group chat π (yes this is a lot of siblings, yes they're all real):
megasas_set_dma_settings(9)megasas_get_cmd(9)megasas_return_cmd(9)megasas_decode_evt(9)megasas_enable_intr_xscale(9)megasas_disable_intr_xscale(9)megasas_read_fw_status_reg_xscale(9)megasas_clear_intr_xscale(9)megasas_fire_cmd_xscale(9)megasas_adp_reset_xscale(9)megasas_check_reset_xscale(9)megasas_enable_intr_ppc(9)megasas_disable_intr_ppc(9)megasas_read_fw_status_reg_ppc(9)megasas_clear_intr_ppc(9)megasas_fire_cmd_ppc(9)megasas_check_reset_ppc(9)megasas_enable_intr_skinny(9)megasas_disable_intr_skinny(9)megasas_read_fw_status_reg_skinny(9)megasas_clear_intr_skinny(9)megasas_fire_cmd_skinny(9)megasas_check_reset_skinny(9)megasas_enable_intr_gen2(9)megasas_disable_intr_gen2(9)megasas_read_fw_status_reg_gen2(9)megasas_clear_intr_gen2(9)megasas_fire_cmd_gen2(9)megasas_adp_reset_gen2(9)megasas_check_reset_gen2(9)megasas_issue_polled(9)megasas_issue_blocked_cmd(9)megasas_issue_blocked_abort_cmd(9)megasas_make_sgl32(9)megasas_make_sgl64(9)megasas_make_sgl_skinny(9)megasas_build_dcdb(9)megasas_build_ldio(9)megasas_cmd_type(9)megasas_queue_command(9)megasas_complete_cmd_dpc(9)megasas_start_timer(9)megasas_wait_for_outstanding(9)megasas_generic_reset(9)megasas_reset_timer(9)megasas_dump(9)megasas_dump_reg_set(9)megasas_dump_fusion_io(9)megasas_reset_bus_host(9)megasas_task_abort(9)megasas_reset_target(9)megasas_bios_param(9)megasas_service_aen(9)megasas_complete_int_cmd(9)megasas_complete_abort(9)megasas_complete_cmd(9)megasas_issue_pending_cmds_again(9)megasas_deplete_reply_queue(9)megasas_isr(9)megasas_transition_to_ready(9)megasas_teardown_frame_pool(9)megasas_create_frame_pool(9)megasas_free_cmds(9)megasas_alloc_cmds(9)megasas_ld_list_query(9)megasas_host_device_list_query(9)megasas_get_ctrl_info(9)megasas_issue_init_mfi(9)megasas_setup_irqs_msix(9)megasas_setup_jbod_map(9)megasas_set_high_iops_queue_affinity_and_hint(9)megasas_alloc_irq_vectors(9)megasas_init_fw(9)megasas_release_mfi(9)megasas_get_seq_num(9)megasas_register_aen(9)megasas_start_aen(9)megasas_io_attach(9)megasas_set_dma_mask(9)megasas_alloc_ctrl_mem(9)megasas_alloc_ctrl_dma_buffers(9)megasas_probe_one(9)megasas_flush_cache(9)megasas_shutdown_controller(9)megasas_suspend(9)megasas_resume(9)megasas_detach_one(9)megasas_shutdown(9)megasas_mgmt_fw_ioctl(9)megasas_mgmt_ioctl(9)megasas_update_device_list(9)megasas_add_remove_devices(9)megasas_init(9)megasas_exit(9)
okay that's the whole squad, go read them, they're all slaying in their own lanes π
that's the page, bestie β short, sweet, and technically correct, which is the best combination π§
source: ./drivers/scsi/megaraid Β· dated October 2026 Β· π« mwah, go read your kernel source, 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