megasas_make_prp_nvme(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay so bestie, welcome to megasas_make_prp_nvme(9) from the Kernel API Manual β€” and its whole main-character job is preparing PRPs(Physical Region Page)- SGLs specific to NVMe drives only. that's the assignment. NVMe drives only, iykyk. πŸ’…


🌸 SYNOPSIS 🌸

here's the signature, copied exactly because we do not mess with code, periodt:

bool megasas_make_prp_nvme (struct megasas_instance *instance , struct
       scsi_cmnd *scmd , struct MPI25_IEEE_SGE_CHAIN64 *sgl_ptr , struct
       megasas_cmd_fusion *cmd , int sge_count );

πŸŽ€ ARGUMENTS πŸŽ€

the cast, one by one, no skips:

  • instance β€” Adapter soft state
  • scmd β€” SCSI command from the mid-layer
  • sgl_ptr β€” SGL to be filled in
  • cmd β€” Fusion command frame
  • sge_count β€” scatter gather element count.

πŸ¦‹ RETURN πŸ¦‹

it returns a bool, and the vibe check is literally this:

  • true: PRPs are built
  • false: IEEE SGLs needs to be built

so yeah, true means PRPs are built, and false means IEEE SGLs needs to be built. that's the fork in the road, bestie. πŸ™ˆ


πŸ”₯ SEE ALSO πŸ”₯

Kernel file: ./drivers/scsi/megaraid/megaraid_sas_fusion.c

and here's the whole group chat of related functions β€” every single one, 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_is_prp_possible(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)

okay that's the whole page, bestie. source/version: ./drivers/scsi/megaraid; date: October 2026; manual: megasas_make_prp_nvme(9). go be iconic with your PRPs. πŸŽ€βœ¨

πŸ“¦ where this page comes from