Lines Matching refs:scmd
204 static int mvumi_make_sgl(struct mvumi_hba *mhba, struct scsi_cmnd *scmd, in mvumi_make_sgl() argument
210 unsigned int sgnum = scsi_sg_count(scmd); in mvumi_make_sgl()
214 sg = scsi_sglist(scmd); in mvumi_make_sgl()
216 (int) scmd->sc_data_direction); in mvumi_make_sgl()
235 scmd->SCp.dma_handle = scsi_bufflen(scmd) ? in mvumi_make_sgl()
236 pci_map_single(mhba->pdev, scsi_sglist(scmd), in mvumi_make_sgl()
237 scsi_bufflen(scmd), in mvumi_make_sgl()
238 (int) scmd->sc_data_direction) in mvumi_make_sgl()
240 busaddr = scmd->SCp.dma_handle; in mvumi_make_sgl()
244 sgd_setsz(mhba, m_sg, cpu_to_le32(scsi_bufflen(scmd))); in mvumi_make_sgl()
365 cmd->scmd = NULL; in mvumi_return_cmd()
724 static int mvumi_host_reset(struct scsi_cmnd *scmd) in mvumi_host_reset() argument
728 mhba = (struct mvumi_hba *) scmd->device->host->hostdata; in mvumi_host_reset()
730 scmd_printk(KERN_NOTICE, scmd, "RESET -%ld cmd=%x retries=%x\n", in mvumi_host_reset()
731 scmd->serial_number, scmd->cmnd[0], scmd->retries); in mvumi_host_reset()
814 cmd->scmd = NULL; in mvumi_flush_cache()
1328 struct scsi_cmnd *scmd = cmd->scmd; in mvumi_complete_cmd() local
1330 cmd->scmd->SCp.ptr = NULL; in mvumi_complete_cmd()
1331 scmd->result = ob_frame->req_status; in mvumi_complete_cmd()
1335 scmd->result |= DID_OK << 16; in mvumi_complete_cmd()
1338 scmd->result |= DID_BUS_BUSY << 16; in mvumi_complete_cmd()
1341 scmd->result |= (DID_OK << 16); in mvumi_complete_cmd()
1343 memcpy(cmd->scmd->sense_buffer, ob_frame->payload, in mvumi_complete_cmd()
1345 scmd->result |= (DRIVER_SENSE << 24); in mvumi_complete_cmd()
1349 scmd->result |= (DRIVER_INVALID << 24) | (DID_ABORT << 16); in mvumi_complete_cmd()
1353 if (scsi_bufflen(scmd)) { in mvumi_complete_cmd()
1354 if (scsi_sg_count(scmd)) { in mvumi_complete_cmd()
1356 scsi_sglist(scmd), in mvumi_complete_cmd()
1357 scsi_sg_count(scmd), in mvumi_complete_cmd()
1358 (int) scmd->sc_data_direction); in mvumi_complete_cmd()
1361 scmd->SCp.dma_handle, in mvumi_complete_cmd()
1362 scsi_bufflen(scmd), in mvumi_complete_cmd()
1363 (int) scmd->sc_data_direction); in mvumi_complete_cmd()
1365 scmd->SCp.dma_handle = 0; in mvumi_complete_cmd()
1368 cmd->scmd->scsi_done(scmd); in mvumi_complete_cmd()
1465 cmd->scmd = NULL; in mvumi_inquiry()
1744 cmd->scmd = NULL; in mvumi_get_event()
1819 if (cmd->scmd) in mvumi_handle_clob()
2063 struct scsi_cmnd *scmd, struct mvumi_cmd *cmd) in mvumi_build_frame() argument
2067 cmd->scmd = scmd; in mvumi_build_frame()
2070 pframe->device_id = ((unsigned short) scmd->device->id) | in mvumi_build_frame()
2071 (((unsigned short) scmd->device->lun) << 8); in mvumi_build_frame()
2074 switch (scmd->sc_data_direction) { in mvumi_build_frame()
2087 "cmd[0x%x]\n", scmd->sc_data_direction, scmd->cmnd[0]); in mvumi_build_frame()
2091 pframe->cdb_length = scmd->cmd_len; in mvumi_build_frame()
2092 memcpy(pframe->cdb, scmd->cmnd, pframe->cdb_length); in mvumi_build_frame()
2094 if (scsi_bufflen(scmd)) { in mvumi_build_frame()
2095 if (mvumi_make_sgl(mhba, scmd, &pframe->payload[0], in mvumi_build_frame()
2099 pframe->data_transfer_length = scsi_bufflen(scmd); in mvumi_build_frame()
2107 scmd->result = (DID_OK << 16) | (DRIVER_SENSE << 24) | in mvumi_build_frame()
2109 scsi_build_sense_buffer(0, scmd->sense_buffer, ILLEGAL_REQUEST, 0x24, in mvumi_build_frame()
2120 struct scsi_cmnd *scmd) in mvumi_queue_command() argument
2127 scsi_cmd_get_serial(shost, scmd); in mvumi_queue_command()
2130 scmd->result = 0; in mvumi_queue_command()
2137 if (unlikely(mvumi_build_frame(mhba, scmd, cmd))) in mvumi_queue_command()
2140 cmd->scmd = scmd; in mvumi_queue_command()
2141 scmd->SCp.ptr = (char *) cmd; in mvumi_queue_command()
2148 scmd->scsi_done(scmd); in mvumi_queue_command()
2153 static enum blk_eh_timer_return mvumi_timed_out(struct scsi_cmnd *scmd) in mvumi_timed_out() argument
2155 struct mvumi_cmd *cmd = (struct mvumi_cmd *) scmd->SCp.ptr; in mvumi_timed_out()
2156 struct Scsi_Host *host = scmd->device->host; in mvumi_timed_out()
2171 scmd->result = (DRIVER_INVALID << 24) | (DID_ABORT << 16); in mvumi_timed_out()
2172 scmd->SCp.ptr = NULL; in mvumi_timed_out()
2173 if (scsi_bufflen(scmd)) { in mvumi_timed_out()
2174 if (scsi_sg_count(scmd)) { in mvumi_timed_out()
2176 scsi_sglist(scmd), in mvumi_timed_out()
2177 scsi_sg_count(scmd), in mvumi_timed_out()
2178 (int)scmd->sc_data_direction); in mvumi_timed_out()
2181 scmd->SCp.dma_handle, in mvumi_timed_out()
2182 scsi_bufflen(scmd), in mvumi_timed_out()
2183 (int)scmd->sc_data_direction); in mvumi_timed_out()
2185 scmd->SCp.dma_handle = 0; in mvumi_timed_out()