Lines Matching refs:vfc_cmd
161 struct ibmvfc_cmd *vfc_cmd = &evt->iu.cmd; in ibmvfc_trc_start() local
173 entry->op_code = vfc_cmd->iu.cdb[0]; in ibmvfc_trc_start()
174 entry->scsi_id = be64_to_cpu(vfc_cmd->tgt_scsi_id); in ibmvfc_trc_start()
175 entry->lun = scsilun_to_int(&vfc_cmd->iu.lun); in ibmvfc_trc_start()
176 entry->tmf_flags = vfc_cmd->iu.tmf_flags; in ibmvfc_trc_start()
177 entry->u.start.xfer_len = be32_to_cpu(vfc_cmd->iu.xfer_len); in ibmvfc_trc_start()
195 struct ibmvfc_cmd *vfc_cmd = &evt->xfer_iu->cmd; in ibmvfc_trc_end() local
206 entry->op_code = vfc_cmd->iu.cdb[0]; in ibmvfc_trc_end()
207 entry->scsi_id = be64_to_cpu(vfc_cmd->tgt_scsi_id); in ibmvfc_trc_end()
208 entry->lun = scsilun_to_int(&vfc_cmd->iu.lun); in ibmvfc_trc_end()
209 entry->tmf_flags = vfc_cmd->iu.tmf_flags; in ibmvfc_trc_end()
210 entry->u.end.status = be16_to_cpu(vfc_cmd->status); in ibmvfc_trc_end()
211 entry->u.end.error = be16_to_cpu(vfc_cmd->error); in ibmvfc_trc_end()
212 entry->u.end.fcp_rsp_flags = vfc_cmd->rsp.flags; in ibmvfc_trc_end()
213 entry->u.end.rsp_code = vfc_cmd->rsp.data.info.rsp_code; in ibmvfc_trc_end()
214 entry->u.end.scsi_status = vfc_cmd->rsp.scsi_status; in ibmvfc_trc_end()
274 static int ibmvfc_get_err_result(struct ibmvfc_cmd *vfc_cmd) in ibmvfc_get_err_result() argument
277 struct ibmvfc_fcp_rsp *rsp = &vfc_cmd->rsp; in ibmvfc_get_err_result()
285 err = ibmvfc_get_err_index(be16_to_cpu(vfc_cmd->status), be16_to_cpu(vfc_cmd->error)); in ibmvfc_get_err_result()
1335 struct ibmvfc_cmd *vfc_cmd, struct device *dev) in ibmvfc_map_sg_data() argument
1339 struct srp_direct_buf *data = &vfc_cmd->ioba; in ibmvfc_map_sg_data()
1343 vfc_cmd->flags |= cpu_to_be16(IBMVFC_CLASS_3_ERR); in ibmvfc_map_sg_data()
1347 vfc_cmd->flags |= cpu_to_be16(IBMVFC_NO_MEM_DESC); in ibmvfc_map_sg_data()
1356 vfc_cmd->flags |= cpu_to_be16(IBMVFC_WRITE); in ibmvfc_map_sg_data()
1357 vfc_cmd->iu.add_cdb_len |= IBMVFC_WRDATA; in ibmvfc_map_sg_data()
1359 vfc_cmd->flags |= cpu_to_be16(IBMVFC_READ); in ibmvfc_map_sg_data()
1360 vfc_cmd->iu.add_cdb_len |= IBMVFC_RDDATA; in ibmvfc_map_sg_data()
1368 vfc_cmd->flags |= cpu_to_be16(IBMVFC_SCATTERLIST); in ibmvfc_map_sg_data()
1477 struct ibmvfc_cmd *vfc_cmd = &evt->xfer_iu->cmd; in ibmvfc_log_error() local
1479 struct ibmvfc_fcp_rsp *rsp = &vfc_cmd->rsp; in ibmvfc_log_error()
1482 int index = ibmvfc_get_err_index(be16_to_cpu(vfc_cmd->status), be16_to_cpu(vfc_cmd->error)); in ibmvfc_log_error()
1499 cmnd->cmnd[0], err, vfc_cmd->status, vfc_cmd->error, in ibmvfc_log_error()
1532 struct ibmvfc_cmd *vfc_cmd = &evt->xfer_iu->cmd; in ibmvfc_scsi_done() local
1533 struct ibmvfc_fcp_rsp *rsp = &vfc_cmd->rsp; in ibmvfc_scsi_done()
1539 if (be16_to_cpu(vfc_cmd->response_flags) & IBMVFC_ADAPTER_RESID_VALID) in ibmvfc_scsi_done()
1540 scsi_set_resid(cmnd, be32_to_cpu(vfc_cmd->adapter_resid)); in ibmvfc_scsi_done()
1546 if (vfc_cmd->status) { in ibmvfc_scsi_done()
1547 cmnd->result = ibmvfc_get_err_result(vfc_cmd); in ibmvfc_scsi_done()
1555 if ((be16_to_cpu(vfc_cmd->status) & IBMVFC_VIOS_FAILURE) && in ibmvfc_scsi_done()
1556 (be16_to_cpu(vfc_cmd->error) == IBMVFC_PLOGI_REQUIRED)) in ibmvfc_scsi_done()
1622 struct ibmvfc_cmd *vfc_cmd; in ibmvfc_queuecommand_lck() local
1638 vfc_cmd = &evt->iu.cmd; in ibmvfc_queuecommand_lck()
1639 memset(vfc_cmd, 0, sizeof(*vfc_cmd)); in ibmvfc_queuecommand_lck()
1640 vfc_cmd->resp.va = cpu_to_be64(be64_to_cpu(evt->crq.ioba) + offsetof(struct ibmvfc_cmd, rsp)); in ibmvfc_queuecommand_lck()
1641 vfc_cmd->resp.len = cpu_to_be32(sizeof(vfc_cmd->rsp)); in ibmvfc_queuecommand_lck()
1642 vfc_cmd->frame_type = cpu_to_be32(IBMVFC_SCSI_FCP_TYPE); in ibmvfc_queuecommand_lck()
1643 vfc_cmd->payload_len = cpu_to_be32(sizeof(vfc_cmd->iu)); in ibmvfc_queuecommand_lck()
1644 vfc_cmd->resp_len = cpu_to_be32(sizeof(vfc_cmd->rsp)); in ibmvfc_queuecommand_lck()
1645 vfc_cmd->cancel_key = cpu_to_be32((unsigned long)cmnd->device->hostdata); in ibmvfc_queuecommand_lck()
1646 vfc_cmd->tgt_scsi_id = cpu_to_be64(rport->port_id); in ibmvfc_queuecommand_lck()
1647 vfc_cmd->iu.xfer_len = cpu_to_be32(scsi_bufflen(cmnd)); in ibmvfc_queuecommand_lck()
1648 int_to_scsilun(cmnd->device->lun, &vfc_cmd->iu.lun); in ibmvfc_queuecommand_lck()
1649 memcpy(vfc_cmd->iu.cdb, cmnd->cmnd, cmnd->cmd_len); in ibmvfc_queuecommand_lck()
1652 vfc_cmd->task_tag = cpu_to_be64(cmnd->tag); in ibmvfc_queuecommand_lck()
1653 vfc_cmd->iu.pri_task_attr = IBMVFC_SIMPLE_TASK; in ibmvfc_queuecommand_lck()
1656 if (likely(!(rc = ibmvfc_map_sg_data(cmnd, evt, vfc_cmd, vhost->dev)))) in ibmvfc_queuecommand_lck()