@@ -5048,48 +5048,31 @@ _scsih_setup_eedp(struct MPT3SAS_ADAPTER *ioc, struct scsi_cmnd *scmd,
5048
5048
Mpi25SCSIIORequest_t * mpi_request )
5049
5049
{
5050
5050
u16 eedp_flags ;
5051
- unsigned char prot_op = scsi_get_prot_op (scmd );
5052
- unsigned char prot_type = scsi_get_prot_type (scmd );
5053
5051
Mpi25SCSIIORequest_t * mpi_request_3v =
5054
5052
(Mpi25SCSIIORequest_t * )mpi_request ;
5055
5053
5056
- if (prot_type == SCSI_PROT_DIF_TYPE0 || prot_op == SCSI_PROT_NORMAL )
5057
- return ;
5058
-
5059
- if (prot_op == SCSI_PROT_READ_STRIP )
5054
+ switch (scsi_get_prot_op (scmd )) {
5055
+ case SCSI_PROT_READ_STRIP :
5060
5056
eedp_flags = MPI2_SCSIIO_EEDPFLAGS_CHECK_REMOVE_OP ;
5061
- else if (prot_op == SCSI_PROT_WRITE_INSERT )
5057
+ break ;
5058
+ case SCSI_PROT_WRITE_INSERT :
5062
5059
eedp_flags = MPI2_SCSIIO_EEDPFLAGS_INSERT_OP ;
5063
- else
5060
+ break ;
5061
+ default :
5064
5062
return ;
5063
+ }
5065
5064
5066
- switch (prot_type ) {
5067
- case SCSI_PROT_DIF_TYPE1 :
5068
- case SCSI_PROT_DIF_TYPE2 :
5065
+ if (scmd -> prot_flags & SCSI_PROT_GUARD_CHECK )
5066
+ eedp_flags |= MPI2_SCSIIO_EEDPFLAGS_CHECK_GUARD ;
5069
5067
5070
- /*
5071
- * enable ref/guard checking
5072
- * auto increment ref tag
5073
- */
5068
+ if (scmd -> prot_flags & SCSI_PROT_REF_CHECK ) {
5074
5069
eedp_flags |= MPI2_SCSIIO_EEDPFLAGS_INC_PRI_REFTAG |
5075
- MPI2_SCSIIO_EEDPFLAGS_CHECK_REFTAG |
5076
- MPI2_SCSIIO_EEDPFLAGS_CHECK_GUARD ;
5070
+ MPI2_SCSIIO_EEDPFLAGS_CHECK_REFTAG ;
5077
5071
mpi_request -> CDB .EEDP32 .PrimaryReferenceTag =
5078
- cpu_to_be32 (t10_pi_ref_tag (scsi_cmd_to_rq (scmd )));
5079
- break ;
5080
-
5081
- case SCSI_PROT_DIF_TYPE3 :
5082
-
5083
- /*
5084
- * enable guard checking
5085
- */
5086
- eedp_flags |= MPI2_SCSIIO_EEDPFLAGS_CHECK_GUARD ;
5087
-
5088
- break ;
5072
+ cpu_to_be32 (scsi_prot_ref_tag (scmd ));
5089
5073
}
5090
5074
5091
- mpi_request_3v -> EEDPBlockSize =
5092
- cpu_to_le16 (scmd -> device -> sector_size );
5075
+ mpi_request_3v -> EEDPBlockSize = cpu_to_le16 (scsi_prot_interval (scmd ));
5093
5076
5094
5077
if (ioc -> is_gen35_ioc )
5095
5078
eedp_flags |= MPI25_SCSIIO_EEDPFLAGS_APPTAG_DISABLE_MODE ;
0 commit comments