aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index f57d02c3b6cf..f0d0852bee0d 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -7264,8 +7264,15 @@ lpfc_sli4_queue_create(struct lpfc_hba *phba)
7264 phba->sli4_hba.fcp_cq[idx] = qdesc; 7264 phba->sli4_hba.fcp_cq[idx] = qdesc;
7265 7265
7266 /* Create Fast Path FCP WQs */ 7266 /* Create Fast Path FCP WQs */
7267 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize, 7267 if (phba->fcp_embed_io) {
7268 phba->sli4_hba.wq_ecount); 7268 qdesc = lpfc_sli4_queue_alloc(phba,
7269 LPFC_WQE128_SIZE,
7270 LPFC_WQE128_DEF_COUNT);
7271 } else {
7272 qdesc = lpfc_sli4_queue_alloc(phba,
7273 phba->sli4_hba.wq_esize,
7274 phba->sli4_hba.wq_ecount);
7275 }
7269 if (!qdesc) { 7276 if (!qdesc) {
7270 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, 7277 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
7271 "0503 Failed allocate fast-path FCP " 7278 "0503 Failed allocate fast-path FCP "
@@ -9510,6 +9517,15 @@ lpfc_get_sli4_parameters(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
9510 if (sli4_params->sge_supp_len > LPFC_MAX_SGE_SIZE) 9517 if (sli4_params->sge_supp_len > LPFC_MAX_SGE_SIZE)
9511 sli4_params->sge_supp_len = LPFC_MAX_SGE_SIZE; 9518 sli4_params->sge_supp_len = LPFC_MAX_SGE_SIZE;
9512 9519
9520 /*
9521 * Issue IOs with CDB embedded in WQE to minimized the number
9522 * of DMAs the firmware has to do. Setting this to 1 also forces
9523 * the driver to use 128 bytes WQEs for FCP IOs.
9524 */
9525 if (bf_get(cfg_ext_embed_cb, mbx_sli4_parameters))
9526 phba->fcp_embed_io = 1;
9527 else
9528 phba->fcp_embed_io = 0;
9513 return 0; 9529 return 0;
9514} 9530}
9515 9531