Lines Matching refs:scp
83 cmd->rcb.scp = NULL; in cmd_checkin()
105 static void process_cmd_err(struct afu_cmd *cmd, struct scsi_cmnd *scp) in process_cmd_err() argument
119 scsi_set_resid(scp, resid); in process_cmd_err()
121 __func__, cmd, scp, resid); in process_cmd_err()
126 __func__, cmd, scp); in process_cmd_err()
127 scp->result = (DID_ERROR << 16); in process_cmd_err()
139 memcpy(scp->sense_buffer, ioasa->sense_data, in process_cmd_err()
141 scp->result = ioasa->rc.scsi_rc; in process_cmd_err()
143 scp->result = ioasa->rc.scsi_rc | (DID_ERROR << 16); in process_cmd_err()
154 scp->result = (DID_REQUEUE << 16); in process_cmd_err()
164 scp->result = (DID_ERROR << 16); in process_cmd_err()
177 scp->result = (DID_ERROR << 16); in process_cmd_err()
186 scp->result = (DID_NO_CONNECT << 16); in process_cmd_err()
192 scp->result = (DID_IMM_RETRY << 16); in process_cmd_err()
196 scp->result = (DID_ERROR << 16); in process_cmd_err()
201 scp->result = (DID_ALLOC_FAILURE << 16); in process_cmd_err()
204 scp->result = (DID_ERROR << 16); in process_cmd_err()
219 struct scsi_cmnd *scp; in cmd_complete() local
229 if (cmd->rcb.scp) { in cmd_complete()
230 scp = cmd->rcb.scp; in cmd_complete()
232 process_cmd_err(cmd, scp); in cmd_complete()
234 scp->result = (DID_OK << 16); in cmd_complete()
240 "ioasc=%d\n", __func__, scp, scp->result, in cmd_complete()
243 scsi_dma_unmap(scp); in cmd_complete()
244 scp->scsi_done(scp); in cmd_complete()
405 static int send_tmf(struct afu *afu, struct scsi_cmnd *scp, u64 tmfcmd) in send_tmf() argument
409 u32 port_sel = scp->device->channel + 1; in send_tmf()
411 struct Scsi_Host *host = scp->device->host; in send_tmf()
437 cmd->rcb.lun_id = lun_to_lunid(scp->device->lun); in send_tmf()
445 cmd->rcb.scp = scp; in send_tmf()
494 static int cxlflash_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scp) in cxlflash_queuecommand() argument
500 u32 port_sel = scp->device->channel + 1; in cxlflash_queuecommand()
509 __func__, scp, host->host_no, scp->device->channel, in cxlflash_queuecommand()
510 scp->device->id, scp->device->lun, in cxlflash_queuecommand()
511 get_unaligned_be32(&((u32 *)scp->cmnd)[0]), in cxlflash_queuecommand()
512 get_unaligned_be32(&((u32 *)scp->cmnd)[1]), in cxlflash_queuecommand()
513 get_unaligned_be32(&((u32 *)scp->cmnd)[2]), in cxlflash_queuecommand()
514 get_unaligned_be32(&((u32 *)scp->cmnd)[3])); in cxlflash_queuecommand()
535 scp->result = (DID_NO_CONNECT << 16); in cxlflash_queuecommand()
536 scp->scsi_done(scp); in cxlflash_queuecommand()
552 cmd->rcb.lun_id = lun_to_lunid(scp->device->lun); in cxlflash_queuecommand()
554 if (scp->sc_data_direction == DMA_TO_DEVICE) in cxlflash_queuecommand()
563 cmd->rcb.scp = scp; in cxlflash_queuecommand()
565 nseg = scsi_dma_map(scp); in cxlflash_queuecommand()
573 ncount = scsi_sg_count(scp); in cxlflash_queuecommand()
574 scsi_for_each_sg(scp, sg, ncount, i) { in cxlflash_queuecommand()
580 memcpy(cmd->rcb.cdb, scp->cmnd, sizeof(cmd->rcb.cdb)); in cxlflash_queuecommand()
586 scsi_dma_unmap(scp); in cxlflash_queuecommand()
1890 static int cxlflash_eh_device_reset_handler(struct scsi_cmnd *scp) in cxlflash_eh_device_reset_handler() argument
1893 struct Scsi_Host *host = scp->device->host; in cxlflash_eh_device_reset_handler()
1899 "cdb=(%08X-%08X-%08X-%08X)\n", __func__, scp, in cxlflash_eh_device_reset_handler()
1900 host->host_no, scp->device->channel, in cxlflash_eh_device_reset_handler()
1901 scp->device->id, scp->device->lun, in cxlflash_eh_device_reset_handler()
1902 get_unaligned_be32(&((u32 *)scp->cmnd)[0]), in cxlflash_eh_device_reset_handler()
1903 get_unaligned_be32(&((u32 *)scp->cmnd)[1]), in cxlflash_eh_device_reset_handler()
1904 get_unaligned_be32(&((u32 *)scp->cmnd)[2]), in cxlflash_eh_device_reset_handler()
1905 get_unaligned_be32(&((u32 *)scp->cmnd)[3])); in cxlflash_eh_device_reset_handler()
1910 rcr = send_tmf(afu, scp, TMF_LUN_RESET); in cxlflash_eh_device_reset_handler()
1934 static int cxlflash_eh_host_reset_handler(struct scsi_cmnd *scp) in cxlflash_eh_host_reset_handler() argument
1938 struct Scsi_Host *host = scp->device->host; in cxlflash_eh_host_reset_handler()
1942 "cdb=(%08X-%08X-%08X-%08X)\n", __func__, scp, in cxlflash_eh_host_reset_handler()
1943 host->host_no, scp->device->channel, in cxlflash_eh_host_reset_handler()
1944 scp->device->id, scp->device->lun, in cxlflash_eh_host_reset_handler()
1945 get_unaligned_be32(&((u32 *)scp->cmnd)[0]), in cxlflash_eh_host_reset_handler()
1946 get_unaligned_be32(&((u32 *)scp->cmnd)[1]), in cxlflash_eh_host_reset_handler()
1947 get_unaligned_be32(&((u32 *)scp->cmnd)[2]), in cxlflash_eh_host_reset_handler()
1948 get_unaligned_be32(&((u32 *)scp->cmnd)[3])); in cxlflash_eh_host_reset_handler()