Lines Matching refs:scp

727 	struct scsi_cmnd *scp;  in hptiop_finish_scsi_req()  local
737 scp = hba->reqs[tag].scp; in hptiop_finish_scsi_req()
739 if (HPT_SCP(scp)->mapped) in hptiop_finish_scsi_req()
740 scsi_dma_unmap(scp); in hptiop_finish_scsi_req()
744 scsi_set_resid(scp, in hptiop_finish_scsi_req()
745 scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length)); in hptiop_finish_scsi_req()
746 scp->result = (DID_OK<<16); in hptiop_finish_scsi_req()
749 scp->result = (DID_BAD_TARGET<<16); in hptiop_finish_scsi_req()
752 scp->result = (DID_BUS_BUSY<<16); in hptiop_finish_scsi_req()
755 scp->result = (DID_RESET<<16); in hptiop_finish_scsi_req()
758 scp->result = (DID_ERROR<<16); in hptiop_finish_scsi_req()
761 scp->result = (DID_ABORT<<16); in hptiop_finish_scsi_req()
764 scsi_set_resid(scp, in hptiop_finish_scsi_req()
765 scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length)); in hptiop_finish_scsi_req()
766 scp->result = SAM_STAT_CHECK_CONDITION; in hptiop_finish_scsi_req()
767 memcpy(scp->sense_buffer, &req->sg_list, SCSI_SENSE_BUFFERSIZE); in hptiop_finish_scsi_req()
772 scp->result = DRIVER_INVALID << 24 | DID_ABORT << 16; in hptiop_finish_scsi_req()
776 scsi_set_resid(scp, in hptiop_finish_scsi_req()
777 scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length)); in hptiop_finish_scsi_req()
780 dprintk("scsi_done(%p)\n", scp); in hptiop_finish_scsi_req()
781 scp->scsi_done(scp); in hptiop_finish_scsi_req()
855 static int hptiop_buildsgl(struct scsi_cmnd *scp, struct hpt_iopsg *psg) in hptiop_buildsgl() argument
857 struct Scsi_Host *host = scp->device->host; in hptiop_buildsgl()
862 nseg = scsi_dma_map(scp); in hptiop_buildsgl()
867 HPT_SCP(scp)->sgcnt = nseg; in hptiop_buildsgl()
868 HPT_SCP(scp)->mapped = 1; in hptiop_buildsgl()
870 BUG_ON(HPT_SCP(scp)->sgcnt > hba->max_sg_descriptors); in hptiop_buildsgl()
872 scsi_for_each_sg(scp, sg, HPT_SCP(scp)->sgcnt, idx) { in hptiop_buildsgl()
876 psg[idx].eot = (idx == HPT_SCP(scp)->sgcnt - 1) ? in hptiop_buildsgl()
879 return HPT_SCP(scp)->sgcnt; in hptiop_buildsgl()
1005 static int hptiop_queuecommand_lck(struct scsi_cmnd *scp, in hptiop_queuecommand_lck() argument
1008 struct Scsi_Host *host = scp->device->host; in hptiop_queuecommand_lck()
1015 scp->scsi_done = done; in hptiop_queuecommand_lck()
1023 _req->scp = scp; in hptiop_queuecommand_lck()
1027 scp, in hptiop_queuecommand_lck()
1028 host->host_no, scp->device->channel, in hptiop_queuecommand_lck()
1029 scp->device->id, scp->device->lun, in hptiop_queuecommand_lck()
1030 cpu_to_be32(((u32 *)scp->cmnd)[0]), in hptiop_queuecommand_lck()
1031 cpu_to_be32(((u32 *)scp->cmnd)[1]), in hptiop_queuecommand_lck()
1032 cpu_to_be32(((u32 *)scp->cmnd)[2]), in hptiop_queuecommand_lck()
1033 cpu_to_be32(((u32 *)scp->cmnd)[3]), in hptiop_queuecommand_lck()
1036 scp->result = 0; in hptiop_queuecommand_lck()
1038 if (scp->device->channel || in hptiop_queuecommand_lck()
1039 (scp->device->id > hba->max_devices) || in hptiop_queuecommand_lck()
1040 ((scp->device->id == (hba->max_devices-1)) && scp->device->lun)) { in hptiop_queuecommand_lck()
1041 scp->result = DID_BAD_TARGET << 16; in hptiop_queuecommand_lck()
1049 sg_count = hptiop_buildsgl(scp, req->sg_list); in hptiop_queuecommand_lck()
1051 HPT_SCP(scp)->mapped = 0; in hptiop_queuecommand_lck()
1056 req->dataxfer_length = cpu_to_le32(scsi_bufflen(scp)); in hptiop_queuecommand_lck()
1057 req->channel = scp->device->channel; in hptiop_queuecommand_lck()
1058 req->target = scp->device->id; in hptiop_queuecommand_lck()
1059 req->lun = scp->device->lun; in hptiop_queuecommand_lck()
1065 memcpy(req->cdb, scp->cmnd, sizeof(req->cdb)); in hptiop_queuecommand_lck()
1070 dprintk("scsi_done(scp=%p)\n", scp); in hptiop_queuecommand_lck()
1071 scp->scsi_done(scp); in hptiop_queuecommand_lck()
1107 static int hptiop_reset(struct scsi_cmnd *scp) in hptiop_reset() argument
1109 struct Scsi_Host * host = scp->device->host; in hptiop_reset()
1113 scp->device->host->host_no, scp->device->channel, in hptiop_reset()
1114 scp->device->id, scp); in hptiop_reset()
1237 hba->u.mvfrey.internal_req.scp = NULL; in hptiop_internal_memalloc_mvfrey()