linux/drivers/scsi/lpfc
James Smart 1b64aa9eae scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4
Convert the SLI4 fast and slow paths to use native SLI4 wqe constructs
instead of iocb SLI3-isms.

Includes the following:

 - Create simple get_xxx and set_xxx routines to wrapper access to common
   elements in both SLI3 and SLI4 commands - allowing calling routines to
   avoid sli-rev-specific structures to access the elements.

 - using the wqe in the job structure as the primary element

 - use defines from SLI-4, not SLI-3

 - Removal of iocb to wqe conversion from fast and slow path

 - Add below routines to handle fast path
	lpfc_prep_embed_io - prepares the wqe for fast path
	lpfc_wqe_bpl2sgl   - manages bpl to sgl conversion
	lpfc_sli_wqe2iocb  - converts a WQE to IOCB for SLI-3 path

 - Add lpfc_sli3_iocb2wcqecmpl in completion path to convert an SLI-3
   iocb completion to wcqe completion

 - Refactor some of the code that works on both revs for clarity

Link: https://lore.kernel.org/r/20220225022308.16486-3-jsmart2021@gmail.com
Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2022-03-15 13:51:48 -04:00
..
lpfc.h scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4 2022-03-15 13:51:48 -04:00
lpfc_attr.c scsi: lpfc: Remove failing soft_wwn support 2022-03-14 23:29:49 -04:00
lpfc_attr.h
lpfc_bsg.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_bsg.h scsi: lpfc: Copyright updates for 14.0.0.1 patches 2021-08-24 22:56:34 -04:00
lpfc_compat.h
lpfc_crtn.h scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4 2022-03-15 13:51:48 -04:00
lpfc_ct.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_debugfs.c scsi: lpfc: Use kcalloc() 2022-03-15 00:52:05 -04:00
lpfc_debugfs.h scsi: lpfc: Adjust CMF total bytes and rxmonitor 2021-12-06 22:35:37 -05:00
lpfc_disc.h scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss 2021-10-20 23:33:46 -04:00
lpfc_els.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_hbadisc.c scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup 2021-12-06 22:35:36 -05:00
lpfc_hw.h scsi: lpfc: Use struct_group to isolate cast to larger object 2021-12-13 23:31:40 -05:00
lpfc_hw4.h scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4 2022-03-15 13:51:48 -04:00
lpfc_ids.h scsi: lpfc: Copyright updates for 14.0.0.0 patches 2021-07-27 00:06:41 -04:00
lpfc_init.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_logmsg.h scsi: lpfc: Copyright updates for 14.0.0.1 patches 2021-08-24 22:56:34 -04:00
lpfc_mbox.c scsi: lpfc: Fix typos in comments 2022-03-15 00:32:14 -04:00
lpfc_mem.c scsi: lpfc: Copyright updates for 14.0.0.1 patches 2021-08-24 22:56:34 -04:00
lpfc_nl.h
lpfc_nportdisc.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_nvme.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_nvme.h scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_nvmet.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_scsi.c scsi: lpfc: SLI path split: Refactor lpfc_iocbq 2022-03-15 13:51:48 -04:00
lpfc_scsi.h scsi: lpfc: Copyright updates for 14.0.0.0 patches 2021-07-27 00:06:41 -04:00
lpfc_sli.c scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4 2022-03-15 13:51:48 -04:00
lpfc_sli.h scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4 2022-03-15 13:51:48 -04:00
lpfc_sli4.h scsi: lpfc: Fix EEH support for NVMe I/O 2021-09-14 23:33:21 -04:00
lpfc_version.h scsi: lpfc: Update lpfc version to 14.0.0.4 2021-12-06 22:35:37 -05:00
lpfc_vport.c scsi: lpfc: Fix NPIV port deletion crash 2021-12-06 22:35:36 -05:00
lpfc_vport.h
Makefile