megasas_is_prp_possible(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ megasas_is_prp_possible(9) ✨

okay so this is a page from the Kernel API Manual bestie, and it's about one very specific little vibe check in the megaraid fusion driver πŸ’…


πŸ¦‹ NAME πŸ¦‹

megasas_is_prp_possible β€” literally just checks if native NVMe PRPs can be built for the IO. that's it. that's the whole job. she's a yes/no girlie 🌸


πŸŽ€ SYNOPSIS πŸŽ€

bool megasas_is_prp_possible (struct megasas_instance *instance , struct
scsi_cmnd *scmd , int sge_count );

returns a bool, takes three args, no cap πŸ’–


πŸ’« ARGUMENTS πŸ’«

  • instance β€” the adapter soft state. like, the whole adapter's personality/state bundle 🫢
  • scmd β€” the SCSI command that came down from the mid-layer. the actual request being like "do the thing" ✨
  • sge_count β€” the scatter gather element count. how many SG pieces we're dealing with, bestie πŸŽ€

πŸ”₯ RETURN πŸ”₯

  • true β€” PRPs can be built, slay, we're going native NVMe πŸ‘‘
  • false β€” nope, IEEE SGLs need to be built instead. different path, still valid, just not the PRP one πŸ’€

πŸ‘€ SEE ALSO πŸ‘€

the kernel file lives at ./drivers/scsi/megaraid/megaraid_sas_fusion.c β€” that's where the magic happens, iykyk 🧚

and here's the whole friend group, no one left out fr fr:

megasas_adp_reset_wait_for_ready(9), megasas_check_same_4gb_region(9), megasas_enable_intr_fusion(9), megasas_disable_intr_fusion(9), megasas_get_cmd_fusion(9), megasas_return_cmd_fusion(9), megasas_write_64bit_req_desc(9), megasas_fire_cmd_fusion(9), megasas_fusion_update_can_queue(9), megasas_free_cmds_fusion(9), megasas_create_sg_sense_fusion(9), megasas_alloc_cmds_fusion(9), wait_and_poll(9), megasas_ioc_init_fusion(9), megasas_sync_pd_seq_num(9), megasas_allocate_raid_maps(9), megasas_configure_queue_sizes(9), megasas_free_ioc_init_cmd(9), megasas_init_adapter_fusion(9), megasas_fault_detect_work(9), map_cmd_status(9), megasas_make_prp_nvme(9), megasas_make_sgl_fusion(9), megasas_make_sgl(9), megasas_set_pd_lba(9), megasas_stream_detect(9), megasas_set_raidflag_cpu_affinity(9), megasas_build_ldio_fusion(9), megasas_build_ld_nonrw_fusion(9), megasas_build_syspd_fusion(9), megasas_build_io_fusion(9), megasas_build_and_issue_cmd_fusion(9), megasas_complete_r1_command(9), access_irq_context(9), release_irq_context(9), complete_cmd_fusion(9), megasas_enable_irq_poll(9), megasas_sync_irqs(9), megasas_irqpoll(9), megasas_complete_cmd_dpc_fusion(9), megasas_isr_fusion(9), build_mpt_mfi_pass_thru(9), build_mpt_cmd(9), megasas_issue_dcmd_fusion(9), megasas_release_fusion(9), megasas_read_fw_status_reg_fusion(9), megasas_alloc_host_crash_buffer(9), megasas_free_host_crash_buffer(9), megasas_adp_reset_fusion(9), megasas_check_reset_fusion(9), megasas_trigger_snap_dump(9), megasas_tm_response_code(9), megasas_issue_tm(9)


and that's the whole page bestie πŸ’œ sign-off time: this one comes out of ./drivers/scsi/megaraid, dated October 2026, and it's megasas_is_prp_possible(9) all the way down πŸ¦‹β­ periodt.

πŸ“¦ where this page comes from