lpfc_bg_setup_bpl_prot(9)
π NAME π
okay so bestie, this is the lpfc_bg_setup_bpl_prot(9) page from the Kernel API Manual, and it's literally about Setup BlockGuard BPL with protection data β¨π
β¨ SYNOPSIS β¨
int lpfc_bg_setup_bpl_prot (struct lpfc_hba *phba , struct scsi_cmnd *sc
, struct ulp_bde64 *bpl , int datacnt , int protcnt );
π ARGUMENTS π
phbaβ The Hba for which this call is being executed.scβ pointer to scsi command we're working on.bplβ pointer to buffer list for protection groups.datacntβ number of segments of data that have been dma mapped.protcntβ number of segment of protection data that have been dma mapped.
π¦ DESCRIPTION π¦
This function sets up BPL buffer list for protection groups of type LPFC_PG_TYPE_DIF πβ¨
This is usually used when DIFs are in their own buffers, separate from the data. The HBA can then be instructed to place the DIFs in the outgoing stream π For read operations, The HBA could extract the DIFs and place it in DIF buffers.
The buffer list for this type consists of one or more of the protection groups described below:
start of first prot group --> |
PDE_5 |
βββββββββββββββββββββββββββββββββ
β PDE_6 β
β PDE_7 (Prot BDE) β
β Data BDE β
β more Data BDE's ... (opt) β
βββββββββββββββββββββββββββββββββ
start of new prot group --> | PDE_5 |
βββββββββββ
β ... β
βββββββββββ
π NOTE π
Heads up, bestie: It is assumed that both data and protection s/g buffers have been mapped for DMA. Returns: the number of BDEs added to the BPL.
π SEE ALSO π
Kernel file: ./drivers/scsi/lpfc/lpfc_scsi.c β that's the home base π β¨
And here's every single cross-reference, no cap:
lpfc_sli4_set_rsp_sgl_last(9)lpfc_rampdown_queue_depth(9)lpfc_ramp_down_queue_handler(9)lpfc_scsi_dev_block(9)lpfc_new_scsi_buf_s3(9)lpfc_sli4_vport_delete_fcp_xri_aborted(9)lpfc_sli4_io_xri_aborted(9)lpfc_get_scsi_buf_s3(9)lpfc_get_scsi_buf_s4(9)lpfc_get_scsi_buf(9)lpfc_release_scsi_buf_s3(9)lpfc_release_scsi_buf_s4(9)lpfc_release_scsi_buf(9)lpfc_fcpcmd_to_iocb(9)lpfc_scsi_prep_dma_buf_s3(9)lpfc_bg_err_inject(9)lpfc_sc_to_bg_opcodes(9)lpfc_bg_err_opcodes(9)lpfc_bg_setup_bpl(9)lpfc_bg_setup_sgl(9)lpfc_bg_setup_sgl_prot(9)lpfc_prot_group_type(9)lpfc_bg_scsi_adjust_dl(9)lpfc_bg_scsi_prep_dma_buf_s3(9)lpfc_scsi_prep_dma_buf_s4(9)lpfc_bg_scsi_prep_dma_buf_s4(9)lpfc_scsi_prep_dma_buf(9)lpfc_bg_scsi_prep_dma_buf(9)lpfc_scsi_prep_cmnd_buf(9)lpfc_send_scsi_error_event(9)lpfc_scsi_unprep_dma_buf(9)lpfc_unblock_requests(9)lpfc_block_requests(9)lpfc_update_cmf_cmpl(9)lpfc_update_cmf_cmd(9)lpfc_handle_fcp_err(9)lpfc_fcp_io_cmd_wqe_cmpl(9)lpfc_scsi_cmd_iocb_cmpl(9)lpfc_scsi_prep_cmnd_buf_s3(9)lpfc_scsi_prep_cmnd_buf_s4(9)lpfc_scsi_prep_cmnd(9)lpfc_scsi_prep_task_mgmt_cmd_s3(9)lpfc_scsi_prep_task_mgmt_cmd_s4(9)lpfc_scsi_api_table_setup(9)lpfc_tskmgmt_def_cmpl(9)lpfc_check_pci_resettable(9)lpfc_info(9)lpfc_poll_rearm_timer(9)lpfc_poll_start_timer(9)lpfc_poll_timeout(9)lpfc_queuecommand(9)lpfc_abort_handler(9)lpfc_check_fcp_rsp(9)lpfc_send_taskmgmt(9)lpfc_chk_tgt_mapped(9)lpfc_reset_flush_io_context(9)lpfc_device_reset_handler(9)lpfc_target_reset_handler(9)lpfc_host_reset_handler(9)lpfc_sdev_init(9)lpfc_sdev_configure(9)lpfc_sdev_destroy(9)lpfc_create_device_data(9)lpfc_delete_device_data(9)__lpfc_get_device_data(9)lpfc_find_next_oas_lun(9)lpfc_enable_oas_lun(9)lpfc_disable_oas_lun(9)
okay that's literally the whole page, bestie π β source/version ./drivers/scsi/lpfc, dated October 2026, and it's the lpfc_bg_setup_bpl_prot(9) page. 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