Lines Matching refs:SCpnt

116 static int sd_init_command(struct scsi_cmnd *SCpnt);
117 static void sd_uninit_command(struct scsi_cmnd *SCpnt);
1010 static int sd_setup_read_write_cmnd(struct scsi_cmnd *SCpnt) in sd_setup_read_write_cmnd() argument
1012 struct request *rq = SCpnt->request; in sd_setup_read_write_cmnd()
1013 struct scsi_device *sdp = SCpnt->device; in sd_setup_read_write_cmnd()
1023 ret = scsi_init_io(SCpnt); in sd_setup_read_write_cmnd()
1026 WARN_ON_ONCE(SCpnt != rq->special); in sd_setup_read_write_cmnd()
1033 scmd_printk(KERN_INFO, SCpnt, in sd_setup_read_write_cmnd()
1039 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, in sd_setup_read_write_cmnd()
1042 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, in sd_setup_read_write_cmnd()
1043 "Retry with 0x%p\n", SCpnt)); in sd_setup_read_write_cmnd()
1073 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, "block=%llu\n", in sd_setup_read_write_cmnd()
1089 scmd_printk(KERN_ERR, SCpnt, in sd_setup_read_write_cmnd()
1099 scmd_printk(KERN_ERR, SCpnt, in sd_setup_read_write_cmnd()
1109 scmd_printk(KERN_ERR, SCpnt, in sd_setup_read_write_cmnd()
1118 SCpnt->cmnd[0] = WRITE_6; in sd_setup_read_write_cmnd()
1121 t10_pi_prepare(SCpnt->request, sdkp->protection_type); in sd_setup_read_write_cmnd()
1124 SCpnt->cmnd[0] = READ_6; in sd_setup_read_write_cmnd()
1126 scmd_printk(KERN_ERR, SCpnt, "Unknown command %d\n", req_op(rq)); in sd_setup_read_write_cmnd()
1130 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, in sd_setup_read_write_cmnd()
1136 dix = scsi_prot_sg_count(SCpnt); in sd_setup_read_write_cmnd()
1137 dif = scsi_host_dif_capable(SCpnt->device->host, sdkp->protection_type); in sd_setup_read_write_cmnd()
1140 protect = sd_setup_protect_cmnd(SCpnt, dix, dif); in sd_setup_read_write_cmnd()
1145 SCpnt->cmnd = mempool_alloc(sd_cdb_pool, GFP_ATOMIC); in sd_setup_read_write_cmnd()
1147 if (unlikely(SCpnt->cmnd == NULL)) { in sd_setup_read_write_cmnd()
1152 SCpnt->cmd_len = SD_EXT_CDB_SIZE; in sd_setup_read_write_cmnd()
1153 memset(SCpnt->cmnd, 0, SCpnt->cmd_len); in sd_setup_read_write_cmnd()
1154 SCpnt->cmnd[0] = VARIABLE_LENGTH_CMD; in sd_setup_read_write_cmnd()
1155 SCpnt->cmnd[7] = 0x18; in sd_setup_read_write_cmnd()
1156 SCpnt->cmnd[9] = (rq_data_dir(rq) == READ) ? READ_32 : WRITE_32; in sd_setup_read_write_cmnd()
1157 SCpnt->cmnd[10] = protect | ((rq->cmd_flags & REQ_FUA) ? 0x8 : 0); in sd_setup_read_write_cmnd()
1160 SCpnt->cmnd[12] = sizeof(block) > 4 ? (unsigned char) (block >> 56) & 0xff : 0; in sd_setup_read_write_cmnd()
1161 SCpnt->cmnd[13] = sizeof(block) > 4 ? (unsigned char) (block >> 48) & 0xff : 0; in sd_setup_read_write_cmnd()
1162 SCpnt->cmnd[14] = sizeof(block) > 4 ? (unsigned char) (block >> 40) & 0xff : 0; in sd_setup_read_write_cmnd()
1163 SCpnt->cmnd[15] = sizeof(block) > 4 ? (unsigned char) (block >> 32) & 0xff : 0; in sd_setup_read_write_cmnd()
1164 SCpnt->cmnd[16] = (unsigned char) (block >> 24) & 0xff; in sd_setup_read_write_cmnd()
1165 SCpnt->cmnd[17] = (unsigned char) (block >> 16) & 0xff; in sd_setup_read_write_cmnd()
1166 SCpnt->cmnd[18] = (unsigned char) (block >> 8) & 0xff; in sd_setup_read_write_cmnd()
1167 SCpnt->cmnd[19] = (unsigned char) block & 0xff; in sd_setup_read_write_cmnd()
1170 SCpnt->cmnd[20] = (unsigned char) (block >> 24) & 0xff; in sd_setup_read_write_cmnd()
1171 SCpnt->cmnd[21] = (unsigned char) (block >> 16) & 0xff; in sd_setup_read_write_cmnd()
1172 SCpnt->cmnd[22] = (unsigned char) (block >> 8) & 0xff; in sd_setup_read_write_cmnd()
1173 SCpnt->cmnd[23] = (unsigned char) block & 0xff; in sd_setup_read_write_cmnd()
1176 SCpnt->cmnd[28] = (unsigned char) (this_count >> 24) & 0xff; in sd_setup_read_write_cmnd()
1177 SCpnt->cmnd[29] = (unsigned char) (this_count >> 16) & 0xff; in sd_setup_read_write_cmnd()
1178 SCpnt->cmnd[30] = (unsigned char) (this_count >> 8) & 0xff; in sd_setup_read_write_cmnd()
1179 SCpnt->cmnd[31] = (unsigned char) this_count & 0xff; in sd_setup_read_write_cmnd()
1181 SCpnt->cmnd[0] += READ_16 - READ_6; in sd_setup_read_write_cmnd()
1182 SCpnt->cmnd[1] = protect | ((rq->cmd_flags & REQ_FUA) ? 0x8 : 0); in sd_setup_read_write_cmnd()
1183 SCpnt->cmnd[2] = sizeof(block) > 4 ? (unsigned char) (block >> 56) & 0xff : 0; in sd_setup_read_write_cmnd()
1184 SCpnt->cmnd[3] = sizeof(block) > 4 ? (unsigned char) (block >> 48) & 0xff : 0; in sd_setup_read_write_cmnd()
1185 SCpnt->cmnd[4] = sizeof(block) > 4 ? (unsigned char) (block >> 40) & 0xff : 0; in sd_setup_read_write_cmnd()
1186 SCpnt->cmnd[5] = sizeof(block) > 4 ? (unsigned char) (block >> 32) & 0xff : 0; in sd_setup_read_write_cmnd()
1187 SCpnt->cmnd[6] = (unsigned char) (block >> 24) & 0xff; in sd_setup_read_write_cmnd()
1188 SCpnt->cmnd[7] = (unsigned char) (block >> 16) & 0xff; in sd_setup_read_write_cmnd()
1189 SCpnt->cmnd[8] = (unsigned char) (block >> 8) & 0xff; in sd_setup_read_write_cmnd()
1190 SCpnt->cmnd[9] = (unsigned char) block & 0xff; in sd_setup_read_write_cmnd()
1191 SCpnt->cmnd[10] = (unsigned char) (this_count >> 24) & 0xff; in sd_setup_read_write_cmnd()
1192 SCpnt->cmnd[11] = (unsigned char) (this_count >> 16) & 0xff; in sd_setup_read_write_cmnd()
1193 SCpnt->cmnd[12] = (unsigned char) (this_count >> 8) & 0xff; in sd_setup_read_write_cmnd()
1194 SCpnt->cmnd[13] = (unsigned char) this_count & 0xff; in sd_setup_read_write_cmnd()
1195 SCpnt->cmnd[14] = SCpnt->cmnd[15] = 0; in sd_setup_read_write_cmnd()
1197 scsi_device_protection(SCpnt->device) || in sd_setup_read_write_cmnd()
1198 SCpnt->device->use_10_for_rw) { in sd_setup_read_write_cmnd()
1199 SCpnt->cmnd[0] += READ_10 - READ_6; in sd_setup_read_write_cmnd()
1200 SCpnt->cmnd[1] = protect | ((rq->cmd_flags & REQ_FUA) ? 0x8 : 0); in sd_setup_read_write_cmnd()
1201 SCpnt->cmnd[2] = (unsigned char) (block >> 24) & 0xff; in sd_setup_read_write_cmnd()
1202 SCpnt->cmnd[3] = (unsigned char) (block >> 16) & 0xff; in sd_setup_read_write_cmnd()
1203 SCpnt->cmnd[4] = (unsigned char) (block >> 8) & 0xff; in sd_setup_read_write_cmnd()
1204 SCpnt->cmnd[5] = (unsigned char) block & 0xff; in sd_setup_read_write_cmnd()
1205 SCpnt->cmnd[6] = SCpnt->cmnd[9] = 0; in sd_setup_read_write_cmnd()
1206 SCpnt->cmnd[7] = (unsigned char) (this_count >> 8) & 0xff; in sd_setup_read_write_cmnd()
1207 SCpnt->cmnd[8] = (unsigned char) this_count & 0xff; in sd_setup_read_write_cmnd()
1216 scmd_printk(KERN_ERR, SCpnt, in sd_setup_read_write_cmnd()
1221 SCpnt->cmnd[1] |= (unsigned char) ((block >> 16) & 0x1f); in sd_setup_read_write_cmnd()
1222 SCpnt->cmnd[2] = (unsigned char) ((block >> 8) & 0xff); in sd_setup_read_write_cmnd()
1223 SCpnt->cmnd[3] = (unsigned char) block & 0xff; in sd_setup_read_write_cmnd()
1224 SCpnt->cmnd[4] = (unsigned char) this_count; in sd_setup_read_write_cmnd()
1225 SCpnt->cmnd[5] = 0; in sd_setup_read_write_cmnd()
1227 SCpnt->sdb.length = this_count * sdp->sector_size; in sd_setup_read_write_cmnd()
1234 SCpnt->transfersize = sdp->sector_size; in sd_setup_read_write_cmnd()
1235 SCpnt->underflow = this_count << 9; in sd_setup_read_write_cmnd()
1236 SCpnt->allowed = SD_MAX_RETRIES; in sd_setup_read_write_cmnd()
1284 static void sd_uninit_command(struct scsi_cmnd *SCpnt) in sd_uninit_command() argument
1286 struct request *rq = SCpnt->request; in sd_uninit_command()
1292 if (SCpnt->cmnd != scsi_req(rq)->cmd) { in sd_uninit_command()
1293 cmnd = SCpnt->cmnd; in sd_uninit_command()
1294 SCpnt->cmnd = NULL; in sd_uninit_command()
1295 SCpnt->cmd_len = 0; in sd_uninit_command()
1930 static int sd_done(struct scsi_cmnd *SCpnt) in sd_done() argument
1932 int result = SCpnt->result; in sd_done()
1933 unsigned int good_bytes = result ? 0 : scsi_bufflen(SCpnt); in sd_done()
1934 unsigned int sector_size = SCpnt->device->sector_size; in sd_done()
1937 struct scsi_disk *sdkp = scsi_disk(SCpnt->request->rq_disk); in sd_done()
1938 struct request *req = SCpnt->request; in sd_done()
1949 scsi_set_resid(SCpnt, 0); in sd_done()
1952 scsi_set_resid(SCpnt, blk_rq_bytes(req)); in sd_done()
1957 good_bytes = scsi_bufflen(SCpnt) in sd_done()
1958 - scsi_get_resid(SCpnt); in sd_done()
1959 scsi_set_resid(SCpnt, 0); in sd_done()
1962 scsi_set_resid(SCpnt, blk_rq_bytes(req)); in sd_done()
1971 resid = scsi_get_resid(SCpnt); in sd_done()
1976 resid = min(scsi_bufflen(SCpnt), in sd_done()
1978 scsi_set_resid(SCpnt, resid); in sd_done()
1983 sense_valid = scsi_command_normalize_sense(SCpnt, &sshdr); in sd_done()
1996 good_bytes = sd_completed_bytes(SCpnt); in sd_done()
1999 good_bytes = scsi_bufflen(SCpnt); in sd_done()
2006 SCpnt->result = 0; in sd_done()
2007 memset(SCpnt->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); in sd_done()
2011 good_bytes = sd_completed_bytes(SCpnt); in sd_done()
2016 good_bytes = sd_completed_bytes(SCpnt); in sd_done()
2020 switch (SCpnt->cmnd[0]) { in sd_done()
2026 if (SCpnt->cmnd[1] & 8) { /* UNMAP */ in sd_done()
2043 sd_zbc_complete(SCpnt, good_bytes, &sshdr); in sd_done()
2045 SCSI_LOG_HLCOMPLETE(1, scmd_printk(KERN_INFO, SCpnt, in sd_done()
2047 good_bytes, scsi_bufflen(SCpnt))); in sd_done()
2049 if (rq_data_dir(SCpnt->request) == READ && scsi_prot_sg_count(SCpnt) && in sd_done()
2051 t10_pi_complete(SCpnt->request, sdkp->protection_type, in sd_done()
2052 good_bytes / scsi_prot_interval(SCpnt)); in sd_done()