Lines Matching refs:ccb

958 static void arcmsr_pci_unmap_dma(struct CommandControlBlock *ccb)  in arcmsr_pci_unmap_dma()  argument
960 struct scsi_cmnd *pcmd = ccb->pcmd; in arcmsr_pci_unmap_dma()
965 static void arcmsr_ccb_complete(struct CommandControlBlock *ccb) in arcmsr_ccb_complete() argument
967 struct AdapterControlBlock *acb = ccb->acb; in arcmsr_ccb_complete()
968 struct scsi_cmnd *pcmd = ccb->pcmd; in arcmsr_ccb_complete()
971 arcmsr_pci_unmap_dma(ccb); in arcmsr_ccb_complete()
972 ccb->startdone = ARCMSR_CCB_DONE; in arcmsr_ccb_complete()
974 list_add_tail(&ccb->list, &acb->ccb_free_list); in arcmsr_ccb_complete()
979 static void arcmsr_report_sense_info(struct CommandControlBlock *ccb) in arcmsr_report_sense_info() argument
982 struct scsi_cmnd *pcmd = ccb->pcmd; in arcmsr_report_sense_info()
990 memcpy(sensebuffer, ccb->arcmsr_cdb.SenseData, sense_data_length); in arcmsr_report_sense_info()
1031 struct CommandControlBlock *ccb, bool error) in arcmsr_report_ccb_state() argument
1034 id = ccb->pcmd->device->id; in arcmsr_report_ccb_state()
1035 lun = ccb->pcmd->device->lun; in arcmsr_report_ccb_state()
1039 ccb->pcmd->result = DID_OK << 16; in arcmsr_report_ccb_state()
1040 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1042 switch (ccb->arcmsr_cdb.DeviceStatus) { in arcmsr_report_ccb_state()
1045 ccb->pcmd->result = DID_NO_CONNECT << 16; in arcmsr_report_ccb_state()
1046 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1054 ccb->pcmd->result = DID_BAD_TARGET << 16; in arcmsr_report_ccb_state()
1055 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1061 arcmsr_report_sense_info(ccb); in arcmsr_report_ccb_state()
1062 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1073 , ccb->arcmsr_cdb.DeviceStatus); in arcmsr_report_ccb_state()
1075 ccb->pcmd->result = DID_NO_CONNECT << 16; in arcmsr_report_ccb_state()
1076 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1246 struct CommandControlBlock *ccb = acb->pccb_pool[i]; in arcmsr_remove() local
1247 if (ccb->startdone == ARCMSR_CCB_START) { in arcmsr_remove()
1248 ccb->startdone = ARCMSR_CCB_ABORTED; in arcmsr_remove()
1249 ccb->pcmd->result = DID_ABORT << 16; in arcmsr_remove()
1250 arcmsr_ccb_complete(ccb); in arcmsr_remove()
1334 struct CommandControlBlock *ccb, struct scsi_cmnd *pcmd) in arcmsr_build_ccb() argument
1336 struct ARCMSR_CDB *arcmsr_cdb = (struct ARCMSR_CDB *)&ccb->arcmsr_cdb; in arcmsr_build_ccb()
1344 ccb->pcmd = pcmd; in arcmsr_build_ccb()
1384 ccb->arc_cdb_size = arccdbsize; in arcmsr_build_ccb()
1388 static void arcmsr_post_ccb(struct AdapterControlBlock *acb, struct CommandControlBlock *ccb) in arcmsr_post_ccb() argument
1390 uint32_t cdb_phyaddr = ccb->cdb_phyaddr; in arcmsr_post_ccb()
1391 struct ARCMSR_CDB *arcmsr_cdb = (struct ARCMSR_CDB *)&ccb->arcmsr_cdb; in arcmsr_post_ccb()
1393 ccb->startdone = ARCMSR_CCB_START; in arcmsr_post_ccb()
1428 arc_cdb_size = (ccb->arc_cdb_size > 0x300) ? 0x300 : ccb->arc_cdb_size; in arcmsr_post_ccb()
1450 pinbound_srb->length = ccb->arc_cdb_size >> 2; in arcmsr_post_ccb()
1941 struct CommandControlBlock *ccb; in arcmsr_hbaC_postqueue_isr() local
1954 ccb = container_of(arcmsr_cdb, struct CommandControlBlock, in arcmsr_hbaC_postqueue_isr()
1959 arcmsr_drain_donequeue(acb, ccb, error); in arcmsr_hbaC_postqueue_isr()
1976 struct CommandControlBlock *ccb; in arcmsr_hbaD_postqueue_isr() local
1996 ccb = container_of(arcmsr_cdb, in arcmsr_hbaD_postqueue_isr()
2000 arcmsr_drain_donequeue(acb, ccb, error); in arcmsr_hbaD_postqueue_isr()
2469 struct CommandControlBlock *ccb = NULL; in arcmsr_get_freeccb() local
2473 ccb = list_entry(head->next, struct CommandControlBlock, list); in arcmsr_get_freeccb()
2474 list_del_init(&ccb->list); in arcmsr_get_freeccb()
2480 return ccb; in arcmsr_get_freeccb()
2538 struct CommandControlBlock *ccb; in arcmsr_queue_command_lck() local
2557 ccb = arcmsr_get_freeccb(acb); in arcmsr_queue_command_lck()
2558 if (!ccb) in arcmsr_queue_command_lck()
2560 if (arcmsr_build_ccb( acb, ccb, cmd ) == FAILED) { in arcmsr_queue_command_lck()
2565 arcmsr_post_ccb(acb, ccb); in arcmsr_queue_command_lck()
2933 struct CommandControlBlock *ccb; in arcmsr_hbaA_polling_ccbdone() local
2957 ccb = container_of(arcmsr_cdb, struct CommandControlBlock, arcmsr_cdb); in arcmsr_hbaA_polling_ccbdone()
2958 poll_ccb_done |= (ccb == poll_ccb) ? 1 : 0; in arcmsr_hbaA_polling_ccbdone()
2959 if ((ccb->acb != acb) || (ccb->startdone != ARCMSR_CCB_START)) { in arcmsr_hbaA_polling_ccbdone()
2960 if ((ccb->startdone == ARCMSR_CCB_ABORTED) || (ccb == poll_ccb)) { in arcmsr_hbaA_polling_ccbdone()
2964 , ccb->pcmd->device->id in arcmsr_hbaA_polling_ccbdone()
2965 , (u32)ccb->pcmd->device->lun in arcmsr_hbaA_polling_ccbdone()
2966 , ccb); in arcmsr_hbaA_polling_ccbdone()
2967 ccb->pcmd->result = DID_ABORT << 16; in arcmsr_hbaA_polling_ccbdone()
2968 arcmsr_ccb_complete(ccb); in arcmsr_hbaA_polling_ccbdone()
2975 , ccb in arcmsr_hbaA_polling_ccbdone()
2980 arcmsr_report_ccb_state(acb, ccb, error); in arcmsr_hbaA_polling_ccbdone()
2990 struct CommandControlBlock *ccb; in arcmsr_hbaB_polling_ccbdone() local
3022 ccb = container_of(arcmsr_cdb, struct CommandControlBlock, arcmsr_cdb); in arcmsr_hbaB_polling_ccbdone()
3023 poll_ccb_done |= (ccb == poll_ccb) ? 1 : 0; in arcmsr_hbaB_polling_ccbdone()
3024 if ((ccb->acb != acb) || (ccb->startdone != ARCMSR_CCB_START)) { in arcmsr_hbaB_polling_ccbdone()
3025 if ((ccb->startdone == ARCMSR_CCB_ABORTED) || (ccb == poll_ccb)) { in arcmsr_hbaB_polling_ccbdone()
3029 ,ccb->pcmd->device->id in arcmsr_hbaB_polling_ccbdone()
3030 ,(u32)ccb->pcmd->device->lun in arcmsr_hbaB_polling_ccbdone()
3031 ,ccb); in arcmsr_hbaB_polling_ccbdone()
3032 ccb->pcmd->result = DID_ABORT << 16; in arcmsr_hbaB_polling_ccbdone()
3033 arcmsr_ccb_complete(ccb); in arcmsr_hbaB_polling_ccbdone()
3040 , ccb in arcmsr_hbaB_polling_ccbdone()
3045 arcmsr_report_ccb_state(acb, ccb, error); in arcmsr_hbaB_polling_ccbdone()
3706 struct CommandControlBlock *ccb; in arcmsr_iop_reset() local
3720 ccb = acb->pccb_pool[i]; in arcmsr_iop_reset()
3721 if (ccb->startdone == ARCMSR_CCB_START) { in arcmsr_iop_reset()
3722 scsi_dma_unmap(ccb->pcmd); in arcmsr_iop_reset()
3723 ccb->startdone = ARCMSR_CCB_DONE; in arcmsr_iop_reset()
3724 ccb->ccb_flags = 0; in arcmsr_iop_reset()
3726 list_add_tail(&ccb->list, &acb->ccb_free_list); in arcmsr_iop_reset()
3937 struct CommandControlBlock *ccb) in arcmsr_abort_one_cmd() argument
3940 rtn = arcmsr_polling_ccbdone(acb, ccb); in arcmsr_abort_one_cmd()
3970 struct CommandControlBlock *ccb = acb->pccb_pool[i]; in arcmsr_abort() local
3971 if (ccb->startdone == ARCMSR_CCB_START && ccb->pcmd == cmd) { in arcmsr_abort()
3972 ccb->startdone = ARCMSR_CCB_ABORTED; in arcmsr_abort()
3973 rtn = arcmsr_abort_one_cmd(acb, ccb); in arcmsr_abort()