Lines Matching refs:dif_info

82 static int ocs_scsi_dif_guard_is_crc(uint8_t direction, ocs_hw_dif_info_t *dif_info);
84 static uint32_t ocs_scsi_dif_check_guard(ocs_hw_dif_info_t *dif_info, ocs_scsi_vaddr_len_t addrlen[],
86 static uint32_t ocs_scsi_dif_check_app_tag(ocs_t *ocs, ocs_hw_dif_info_t *dif_info, uint16_t exp_app_tag, ocs_dif_t *dif);
87 static uint32_t ocs_scsi_dif_check_ref_tag(ocs_t *ocs, ocs_hw_dif_info_t *dif_info, uint32_t exp_ref_tag, ocs_dif_t *dif);
302 ocs_scsi_dif_info_t *dif_info,
332 ocs_hw_dif_info_t *dif_info = &io->hw_dif;
380 is_crc = ocs_scsi_dif_guard_is_crc(edir, dif_info);
395 (dif_info->dif == SLI4_DIF_PASS_THROUGH) && (dif_info->dif_oper != OCS_HW_SGE_DIF_OP_IN_RAW_OUT_RAW) ) {
448 * @param dif_info Pointer to HW DIF info data.
453 ocs_scsi_dif_guard_is_crc(uint8_t direction, ocs_hw_dif_info_t *dif_info)
459 switch(dif_info->dif_oper) {
471 switch(dif_info->dif_oper) {
512 ocs_hw_dif_info_t *dif_info = &io->hw_dif;
539 if (! ocs_scsi_dif_check_guard(dif_info, addrlen, addrlen_count, dif, is_crc)) {
544 if (! ocs_scsi_dif_check_app_tag(ocs, dif_info, scsi_dif_info.app_tag, dif)) {
549 if (! ocs_scsi_dif_check_ref_tag(ocs, dif_info, (scsi_dif_info.ref_tag + i), dif)) {
563 * Using the dif_info for the transfer, check the block guard value.
565 * @param dif_info Pointer to HW DIF info data.
574 ocs_scsi_dif_check_guard(ocs_hw_dif_info_t *dif_info, ocs_scsi_vaddr_len_t addrlen[], uint32_t addrlen_count,
577 uint16_t crc = dif_info->dif_seed;
581 if ((dif == NULL) || !dif_info->check_guard) {
601 * Using the dif_info for the transfer, check the app tag.
604 * @param dif_info Pointer to HW DIF info data.
611 ocs_scsi_dif_check_app_tag(ocs_t *ocs, ocs_hw_dif_info_t *dif_info, uint16_t exp_app_tag, ocs_dif_t *dif)
613 if ((dif == NULL) || !dif_info->check_app_tag) {
627 * Using the dif_info for the transfer, check the app tag.
630 * @param dif_info Pointer to HW DIF info data.
637 ocs_scsi_dif_check_ref_tag(ocs_t *ocs, ocs_hw_dif_info_t *dif_info, uint32_t exp_ref_tag, ocs_dif_t *dif)
639 if ((dif == NULL) || !dif_info->check_ref_tag) {
1458 * @param dif_info Pointer to T10 DIF fields, or NULL if no DIF.
1472 ocs_scsi_dif_info_t *dif_info,
1482 if ((dif_info != NULL) && (dif_info->dif_oper == OCS_SCSI_DIF_OPER_DISABLED)) {
1483 dif_info = NULL;
1488 if (dif_info != NULL) {
1518 rc = ocs_scsi_convert_dif_info(ocs, dif_info, &io->hw_dif);
1524 if (dif_info) {
1525 io->scsi_dif_info = *dif_info;
1588 ocs_scsi_dif_info_t *dif_info,
1592 return ocs_scsi_xfer_data(io, flags, dif_info, sgl, sgl_count, len, OCS_HW_IO_TARGET_READ,
1598 ocs_scsi_dif_info_t *dif_info,
1602 return ocs_scsi_xfer_data(io, flags, dif_info, sgl, sgl_count, len, OCS_HW_IO_TARGET_WRITE,
2270 * @param dif_info Pointer to the T10 DIF fields, or NULL if no DIF.
2281 ocs_scsi_dif_info_t *dif_info,
2287 rc = ocs_scsi_send_io(OCS_HW_IO_INITIATOR_READ, node, io, lun, 0, cdb, cdb_len, dif_info, sgl, sgl_count,
2310 * @param dif_info Pointer to the T10 DIF fields, or NULL if no DIF.
2320 ocs_scsi_dif_info_t *dif_info,
2326 rc = ocs_scsi_send_io(OCS_HW_IO_INITIATOR_WRITE, node, io, lun, 0, cdb, cdb_len, dif_info, sgl, sgl_count,
2349 * @param dif_info Pointer to the T10 DIF fields, or NULL if no DIF.
2361 ocs_scsi_dif_info_t *dif_info,
2367 rc = ocs_scsi_send_io(OCS_HW_IO_INITIATOR_WRITE, node, io, lun, 0, cdb, cdb_len, dif_info, sgl, sgl_count,
2484 * @param dif_info Pointer to the T10 DIF fields, or NULL if no DIF.
2499 ocs_scsi_dif_info_t *dif_info,
2631 rc = ocs_scsi_convert_dif_info(ocs, dif_info, &io->hw_dif);