aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_sli.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2012-10-31 14:44:49 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-11-26 23:59:44 -0500
commit8012cc38cd1a98ec2c560b80c7d8b858955400e1 (patch)
tree3accd5cf0da3a42d96eb83f3781da4a6a2b64a1a /drivers/scsi/lpfc/lpfc_sli.c
parenta6571c6ebad15d04e8312e71b0ed17675ea4f6b3 (diff)
[SCSI] lpfc 8.3.36: Update DIF support for passthru/strip/insert
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index d7f3313ef886..624eab370396 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -8068,10 +8068,6 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
8068 LPFC_WQE_LENLOC_WORD4); 8068 LPFC_WQE_LENLOC_WORD4);
8069 bf_set(wqe_ebde_cnt, &wqe->fcp_iwrite.wqe_com, 0); 8069 bf_set(wqe_ebde_cnt, &wqe->fcp_iwrite.wqe_com, 0);
8070 bf_set(wqe_pu, &wqe->fcp_iwrite.wqe_com, iocbq->iocb.ulpPU); 8070 bf_set(wqe_pu, &wqe->fcp_iwrite.wqe_com, iocbq->iocb.ulpPU);
8071 if (iocbq->iocb_flag & LPFC_IO_DIF) {
8072 iocbq->iocb_flag &= ~LPFC_IO_DIF;
8073 bf_set(wqe_dif, &wqe->generic.wqe_com, 1);
8074 }
8075 bf_set(wqe_dbde, &wqe->fcp_iwrite.wqe_com, 1); 8071 bf_set(wqe_dbde, &wqe->fcp_iwrite.wqe_com, 1);
8076 break; 8072 break;
8077 case CMD_FCP_IREAD64_CR: 8073 case CMD_FCP_IREAD64_CR:
@@ -8091,10 +8087,6 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
8091 LPFC_WQE_LENLOC_WORD4); 8087 LPFC_WQE_LENLOC_WORD4);
8092 bf_set(wqe_ebde_cnt, &wqe->fcp_iread.wqe_com, 0); 8088 bf_set(wqe_ebde_cnt, &wqe->fcp_iread.wqe_com, 0);
8093 bf_set(wqe_pu, &wqe->fcp_iread.wqe_com, iocbq->iocb.ulpPU); 8089 bf_set(wqe_pu, &wqe->fcp_iread.wqe_com, iocbq->iocb.ulpPU);
8094 if (iocbq->iocb_flag & LPFC_IO_DIF) {
8095 iocbq->iocb_flag &= ~LPFC_IO_DIF;
8096 bf_set(wqe_dif, &wqe->generic.wqe_com, 1);
8097 }
8098 bf_set(wqe_dbde, &wqe->fcp_iread.wqe_com, 1); 8090 bf_set(wqe_dbde, &wqe->fcp_iread.wqe_com, 1);
8099 break; 8091 break;
8100 case CMD_FCP_ICMND64_CR: 8092 case CMD_FCP_ICMND64_CR:
@@ -8304,6 +8296,14 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
8304 break; 8296 break;
8305 } 8297 }
8306 8298
8299 if (iocbq->iocb_flag & LPFC_IO_DIF_PASS)
8300 bf_set(wqe_dif, &wqe->generic.wqe_com, LPFC_WQE_DIF_PASSTHRU);
8301 else if (iocbq->iocb_flag & LPFC_IO_DIF_STRIP)
8302 bf_set(wqe_dif, &wqe->generic.wqe_com, LPFC_WQE_DIF_STRIP);
8303 else if (iocbq->iocb_flag & LPFC_IO_DIF_INSERT)
8304 bf_set(wqe_dif, &wqe->generic.wqe_com, LPFC_WQE_DIF_INSERT);
8305 iocbq->iocb_flag &= ~(LPFC_IO_DIF_PASS | LPFC_IO_DIF_STRIP |
8306 LPFC_IO_DIF_INSERT);
8307 bf_set(wqe_xri_tag, &wqe->generic.wqe_com, xritag); 8307 bf_set(wqe_xri_tag, &wqe->generic.wqe_com, xritag);
8308 bf_set(wqe_reqtag, &wqe->generic.wqe_com, iocbq->iotag); 8308 bf_set(wqe_reqtag, &wqe->generic.wqe_com, iocbq->iotag);
8309 wqe->generic.wqe_com.abort_tag = abort_tag; 8309 wqe->generic.wqe_com.abort_tag = abort_tag;