Lines Matching refs:se_cmd

58 static void ibmvscsis_determine_resid(struct se_cmd *se_cmd,  in ibmvscsis_determine_resid()  argument
61 u32 residual_count = se_cmd->residual_count; in ibmvscsis_determine_resid()
66 if (se_cmd->se_cmd_flags & SCF_UNDERFLOW_BIT) { in ibmvscsis_determine_resid()
67 if (se_cmd->data_direction == DMA_TO_DEVICE) { in ibmvscsis_determine_resid()
71 } else if (se_cmd->data_direction == DMA_FROM_DEVICE) { in ibmvscsis_determine_resid()
76 } else if (se_cmd->se_cmd_flags & SCF_OVERFLOW_BIT) { in ibmvscsis_determine_resid()
77 if (se_cmd->data_direction == DMA_TO_DEVICE) { in ibmvscsis_determine_resid()
81 } else if (se_cmd->data_direction == DMA_FROM_DEVICE) { in ibmvscsis_determine_resid()
1290 memset(&cmd->se_cmd, 0, sizeof(cmd->se_cmd)); in ibmvscsis_get_free_cmd()
1906 if (cmd->se_cmd.transport_state & CMD_T_ABORTED && in ibmvscsis_send_messages()
1907 !(cmd->se_cmd.transport_state & CMD_T_TAS)) { in ibmvscsis_send_messages()
2717 cmd->se_cmd.tag = be64_to_cpu(srp->tag); in ibmvscsis_parse_cmd()
2725 target_submit_cmd(&cmd->se_cmd, nexus->se_sess, srp->cdb, in ibmvscsis_parse_cmd()
2782 cmd->se_cmd.se_tmr_req->response = in ibmvscsis_parse_task()
2789 cmd->se_cmd.tag = be64_to_cpu(srp_tsk->tag); in ibmvscsis_parse_task()
2799 rc = target_submit_tmr(&cmd->se_cmd, nexus->se_sess, NULL, in ibmvscsis_parse_task()
2808 cmd->se_cmd.se_tmr_req->response = in ibmvscsis_parse_task()
2814 transport_send_check_condition_and_sense(&cmd->se_cmd, 0, 0); in ibmvscsis_parse_task()
3047 struct se_cmd *se_cmd = &cmd->se_cmd; in ibmvscsis_fast_fail() local
3050 u8 rc = se_cmd->scsi_status; in ibmvscsis_fast_fail()
3053 if (scsi_normalize_sense(se_cmd->sense_buffer, in ibmvscsis_fast_fail()
3054 se_cmd->scsi_sense_length, &sshdr)) in ibmvscsis_fast_fail()
3056 (se_cmd->residual_count == 0 || in ibmvscsis_fast_fail()
3057 se_cmd->residual_count == se_cmd->data_length)) { in ibmvscsis_fast_fail()
3078 struct se_cmd *se_cmd = &cmd->se_cmd; in srp_build_response() local
3104 ibmvscsis_determine_resid(se_cmd, rsp); in srp_build_response()
3105 if (se_cmd->scsi_sense_length && se_cmd->sense_buffer) { in srp_build_response()
3107 cpu_to_be32(se_cmd->scsi_sense_length); in srp_build_response()
3109 len += se_cmd->scsi_sense_length; in srp_build_response()
3110 memcpy(data, se_cmd->sense_buffer, in srp_build_response()
3111 se_cmd->scsi_sense_length); in srp_build_response()
3130 switch (se_cmd->se_tmr_req->response) { in srp_build_response()
3701 static int ibmvscsis_check_stop_free(struct se_cmd *se_cmd) in ibmvscsis_check_stop_free() argument
3703 return target_put_sess_cmd(se_cmd); in ibmvscsis_check_stop_free()
3706 static void ibmvscsis_release_cmd(struct se_cmd *se_cmd) in ibmvscsis_release_cmd() argument
3708 struct ibmvscsis_cmd *cmd = container_of(se_cmd, struct ibmvscsis_cmd, in ibmvscsis_release_cmd()
3709 se_cmd); in ibmvscsis_release_cmd()
3719 static int ibmvscsis_write_pending(struct se_cmd *se_cmd) in ibmvscsis_write_pending() argument
3721 struct ibmvscsis_cmd *cmd = container_of(se_cmd, struct ibmvscsis_cmd, in ibmvscsis_write_pending()
3722 se_cmd); in ibmvscsis_write_pending()
3749 target_execute_cmd(se_cmd); in ibmvscsis_write_pending()
3753 static int ibmvscsis_queue_data_in(struct se_cmd *se_cmd) in ibmvscsis_queue_data_in() argument
3755 struct ibmvscsis_cmd *cmd = container_of(se_cmd, struct ibmvscsis_cmd, in ibmvscsis_queue_data_in()
3756 se_cmd); in ibmvscsis_queue_data_in()
3766 se_cmd->scsi_sense_length = 18; in ibmvscsis_queue_data_in()
3767 memset(se_cmd->sense_buffer, 0, se_cmd->scsi_sense_length); in ibmvscsis_queue_data_in()
3769 scsi_build_sense_buffer(0, se_cmd->sense_buffer, MEDIUM_ERROR, in ibmvscsis_queue_data_in()
3780 static int ibmvscsis_queue_status(struct se_cmd *se_cmd) in ibmvscsis_queue_status() argument
3782 struct ibmvscsis_cmd *cmd = container_of(se_cmd, struct ibmvscsis_cmd, in ibmvscsis_queue_status()
3783 se_cmd); in ibmvscsis_queue_status()
3787 dev_dbg(&vscsi->dev, "queue_status %p\n", se_cmd); in ibmvscsis_queue_status()
3796 static void ibmvscsis_queue_tm_rsp(struct se_cmd *se_cmd) in ibmvscsis_queue_tm_rsp() argument
3798 struct ibmvscsis_cmd *cmd = container_of(se_cmd, struct ibmvscsis_cmd, in ibmvscsis_queue_tm_rsp()
3799 se_cmd); in ibmvscsis_queue_tm_rsp()
3808 se_cmd, (int)se_cmd->se_tmr_req->response); in ibmvscsis_queue_tm_rsp()
3811 cmd->se_cmd.se_tmr_req->response == TMR_TASK_DOES_NOT_EXIST) { in ibmvscsis_queue_tm_rsp()
3814 if (tag_to_abort == cmd_itr->se_cmd.tag) { in ibmvscsis_queue_tm_rsp()
3828 static void ibmvscsis_aborted_task(struct se_cmd *se_cmd) in ibmvscsis_aborted_task() argument
3830 struct ibmvscsis_cmd *cmd = container_of(se_cmd, struct ibmvscsis_cmd, in ibmvscsis_aborted_task()
3831 se_cmd); in ibmvscsis_aborted_task()
3835 se_cmd, se_cmd->tag); in ibmvscsis_aborted_task()