• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/scsi/arcmsr/

Lines Matching defs:ccb

247 			       "'set ccb high part physical address' timeout\n",
370 static void arcmsr_pci_unmap_dma(struct CommandControlBlock *ccb)
372 struct AdapterControlBlock *acb = ccb->acb;
373 struct scsi_cmnd *pcmd = ccb->pcmd;
387 static void arcmsr_ccb_complete(struct CommandControlBlock *ccb, int stand_flag)
389 struct AdapterControlBlock *acb = ccb->acb;
390 struct scsi_cmnd *pcmd = ccb->pcmd;
392 arcmsr_pci_unmap_dma(ccb);
395 ccb->startdone = ARCMSR_CCB_DONE;
396 ccb->ccb_flags = 0;
397 list_add_tail(&ccb->list, &acb->ccb_free_list);
433 struct CommandControlBlock *ccb = acb->pccb_pool[i];
434 if (ccb->startdone == ARCMSR_CCB_START) {
435 ccb->startdone = ARCMSR_CCB_ABORTED;
436 ccb->pcmd->result = DID_ABORT << 16;
437 arcmsr_ccb_complete(ccb, 1);
510 static void arcmsr_report_sense_info(struct CommandControlBlock *ccb)
512 struct scsi_cmnd *pcmd = ccb->pcmd;
521 memcpy(sensebuffer, ccb->arcmsr_cdb.SenseData, sense_data_length);
548 struct CommandControlBlock *ccb, struct scsi_cmnd *pcmd)
550 struct ARCMSR_CDB *arcmsr_cdb = (struct ARCMSR_CDB *)&ccb->arcmsr_cdb;
555 ccb->pcmd = pcmd;
623 ccb->ccb_flags |= CCB_FLAG_WRITE;
627 static void arcmsr_post_ccb(struct AdapterControlBlock *acb, struct CommandControlBlock *ccb)
630 uint32_t cdb_shifted_phyaddr = ccb->cdb_shifted_phyaddr;
631 struct ARCMSR_CDB *arcmsr_cdb = (struct ARCMSR_CDB *)&ccb->arcmsr_cdb;
634 ccb->startdone = ARCMSR_CCB_START;
688 struct CommandControlBlock *ccb;
755 break;/*chip FIFO no ccb for completion already*/
757 ccb = (struct CommandControlBlock *)(acb->vir2phy_offset +
759 if ((ccb->acb != acb) || (ccb->startdone != ARCMSR_CCB_START)) {
760 if (ccb->startdone == ARCMSR_CCB_ABORTED) {
761 struct scsi_cmnd *abortcmd=ccb->pcmd;
764 arcmsr_ccb_complete(ccb, 1);
766 "arcmsr%d: ccb='0x%p' isr got aborted command \n"
767 , acb->host->host_no, ccb);
772 "arcmsr%d: isr get an illegal ccb command done acb='0x%p'"
773 "ccb='0x%p' ccbacb='0x%p' startdone = 0x%x"
777 , ccb
778 , ccb->acb
779 , ccb->startdone
783 id = ccb->pcmd->device->id;
784 lun = ccb->pcmd->device->lun;
788 ccb->pcmd->result = DID_OK << 16;
789 arcmsr_ccb_complete(ccb, 1);
791 switch(ccb->arcmsr_cdb.DeviceStatus) {
794 ccb->pcmd->result = DID_TIME_OUT << 16;
795 arcmsr_ccb_complete(ccb, 1);
801 ccb->pcmd->result = DID_BAD_TARGET << 16;
802 arcmsr_ccb_complete(ccb, 1);
807 arcmsr_report_sense_info(ccb);
808 arcmsr_ccb_complete(ccb, 1);
819 , ccb->arcmsr_cdb.DeviceStatus);
821 ccb->pcmd->result = DID_NO_CONNECT << 16;
822 arcmsr_ccb_complete(ccb, 1);
1072 struct CommandControlBlock *ccb = NULL;
1075 ccb = list_entry(head->next, struct CommandControlBlock, list);
1078 return ccb;
1143 struct CommandControlBlock *ccb;
1182 ccb = arcmsr_get_freeccb(acb);
1183 if (!ccb)
1185 arcmsr_build_ccb(acb, ccb, cmd);
1186 arcmsr_post_ccb(acb, ccb);
1233 struct CommandControlBlock *ccb;
1253 ccb = (struct CommandControlBlock *)
1255 if ((ccb->acb != acb) ||
1256 (ccb->startdone != ARCMSR_CCB_START)) {
1257 if ((ccb->startdone == ARCMSR_CCB_ABORTED) ||
1258 (ccb == poll_ccb)) {
1260 "arcmsr%d: scsi id=%d lun=%d ccb='0x%p'"
1263 , ccb->pcmd->device->id
1264 , ccb->pcmd->device->lun
1265 , ccb);
1266 ccb->pcmd->result = DID_ABORT << 16;
1267 arcmsr_ccb_complete(ccb, 1);
1272 "arcmsr%d: polling get an illegal ccb"
1273 " command done ccb='0x%p'"
1276 , ccb
1280 id = ccb->pcmd->device->id;
1281 lun = ccb->pcmd->device->lun;
1285 ccb->pcmd->result = DID_OK << 16;
1286 arcmsr_ccb_complete(ccb, 1);
1288 switch(ccb->arcmsr_cdb.DeviceStatus) {
1291 ccb->pcmd->result = DID_TIME_OUT << 16;
1292 arcmsr_ccb_complete(ccb, 1);
1298 ccb->pcmd->result = DID_BAD_TARGET << 16;
1299 arcmsr_ccb_complete(ccb, 1);
1304 arcmsr_report_sense_info(ccb);
1305 arcmsr_ccb_complete(ccb, 1);
1316 , ccb->arcmsr_cdb.DeviceStatus);
1318 ccb->pcmd->result = DID_BAD_TARGET << 16;
1319 arcmsr_ccb_complete(ccb, 1);
1359 struct CommandControlBlock *ccb;
1374 ccb = acb->pccb_pool[i];
1375 if ((ccb->startdone == ARCMSR_CCB_START) ||
1376 (ccb->startdone == ARCMSR_CCB_ABORTED)) {
1377 ccb->startdone = ARCMSR_CCB_ABORTED;
1378 ccb->pcmd->result = DID_ABORT << 16;
1379 arcmsr_ccb_complete(ccb, 1);
1408 struct CommandControlBlock *ccb)
1412 ccb->startdone = ARCMSR_CCB_ABORTED;
1420 arcmsr_polling_ccbdone(acb, ccb);
1445 struct CommandControlBlock *ccb = acb->pccb_pool[i];
1446 if (ccb->startdone == ARCMSR_CCB_START && ccb->pcmd == cmd) {
1447 arcmsr_abort_one_cmd(acb, ccb);