• Home
  • Raw
  • Download

Lines Matching refs:ccb

1308 static void arcmsr_pci_unmap_dma(struct CommandControlBlock *ccb)  in arcmsr_pci_unmap_dma()  argument
1310 struct scsi_cmnd *pcmd = ccb->pcmd; in arcmsr_pci_unmap_dma()
1315 static void arcmsr_ccb_complete(struct CommandControlBlock *ccb) in arcmsr_ccb_complete() argument
1317 struct AdapterControlBlock *acb = ccb->acb; in arcmsr_ccb_complete()
1318 struct scsi_cmnd *pcmd = ccb->pcmd; in arcmsr_ccb_complete()
1321 arcmsr_pci_unmap_dma(ccb); in arcmsr_ccb_complete()
1322 ccb->startdone = ARCMSR_CCB_DONE; in arcmsr_ccb_complete()
1324 list_add_tail(&ccb->list, &acb->ccb_free_list); in arcmsr_ccb_complete()
1329 static void arcmsr_report_sense_info(struct CommandControlBlock *ccb) in arcmsr_report_sense_info() argument
1332 struct scsi_cmnd *pcmd = ccb->pcmd; in arcmsr_report_sense_info()
1340 memcpy(sensebuffer, ccb->arcmsr_cdb.SenseData, sense_data_length); in arcmsr_report_sense_info()
1390 struct CommandControlBlock *ccb, bool error) in arcmsr_report_ccb_state() argument
1393 id = ccb->pcmd->device->id; in arcmsr_report_ccb_state()
1394 lun = ccb->pcmd->device->lun; in arcmsr_report_ccb_state()
1398 ccb->pcmd->result = DID_OK << 16; in arcmsr_report_ccb_state()
1399 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1401 switch (ccb->arcmsr_cdb.DeviceStatus) { in arcmsr_report_ccb_state()
1404 ccb->pcmd->result = DID_NO_CONNECT << 16; in arcmsr_report_ccb_state()
1405 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1413 ccb->pcmd->result = DID_BAD_TARGET << 16; in arcmsr_report_ccb_state()
1414 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1420 arcmsr_report_sense_info(ccb); in arcmsr_report_ccb_state()
1421 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1432 , ccb->arcmsr_cdb.DeviceStatus); in arcmsr_report_ccb_state()
1434 ccb->pcmd->result = DID_NO_CONNECT << 16; in arcmsr_report_ccb_state()
1435 arcmsr_ccb_complete(ccb); in arcmsr_report_ccb_state()
1596 struct CommandControlBlock *ccb; in arcmsr_remove_scsi_devices() local
1600 ccb = acb->pccb_pool[i]; in arcmsr_remove_scsi_devices()
1601 if (ccb->startdone == ARCMSR_CCB_START) { in arcmsr_remove_scsi_devices()
1602 ccb->pcmd->result = DID_NO_CONNECT << 16; in arcmsr_remove_scsi_devices()
1603 arcmsr_pci_unmap_dma(ccb); in arcmsr_remove_scsi_devices()
1604 ccb->pcmd->scsi_done(ccb->pcmd); in arcmsr_remove_scsi_devices()
1691 struct CommandControlBlock *ccb = acb->pccb_pool[i]; in arcmsr_remove() local
1692 if (ccb->startdone == ARCMSR_CCB_START) { in arcmsr_remove()
1693 ccb->startdone = ARCMSR_CCB_ABORTED; in arcmsr_remove()
1694 ccb->pcmd->result = DID_ABORT << 16; in arcmsr_remove()
1695 arcmsr_ccb_complete(ccb); in arcmsr_remove()
1792 struct CommandControlBlock *ccb, struct scsi_cmnd *pcmd) in arcmsr_build_ccb() argument
1794 struct ARCMSR_CDB *arcmsr_cdb = (struct ARCMSR_CDB *)&ccb->arcmsr_cdb; in arcmsr_build_ccb()
1802 ccb->pcmd = pcmd; in arcmsr_build_ccb()
1842 ccb->arc_cdb_size = arccdbsize; in arcmsr_build_ccb()
1846 static void arcmsr_post_ccb(struct AdapterControlBlock *acb, struct CommandControlBlock *ccb) in arcmsr_post_ccb() argument
1848 uint32_t cdb_phyaddr = ccb->cdb_phyaddr; in arcmsr_post_ccb()
1849 struct ARCMSR_CDB *arcmsr_cdb = (struct ARCMSR_CDB *)&ccb->arcmsr_cdb; in arcmsr_post_ccb()
1851 ccb->startdone = ARCMSR_CCB_START; in arcmsr_post_ccb()
1886 arc_cdb_size = (ccb->arc_cdb_size > 0x300) ? 0x300 : ccb->arc_cdb_size; in arcmsr_post_ccb()
1888 writel(upper_32_bits(ccb->cdb_phyaddr), &phbcmu->inbound_queueport_high); in arcmsr_post_ccb()
1902 pinbound_srb->addressHigh = upper_32_bits(ccb->cdb_phyaddr); in arcmsr_post_ccb()
1904 pinbound_srb->length = ccb->arc_cdb_size >> 2; in arcmsr_post_ccb()
1919 arc_cdb_size = (ccb->arc_cdb_size > 0x300) ? 0x300 : ccb->arc_cdb_size; in arcmsr_post_ccb()
1920 ccb_post_stamp = (ccb->smid | ((arc_cdb_size - 1) >> 6)); in arcmsr_post_ccb()
1929 if (ccb->arc_cdb_size <= 0x300) in arcmsr_post_ccb()
1930 arc_cdb_size = (ccb->arc_cdb_size - 1) >> 6 | 1; in arcmsr_post_ccb()
1932 arc_cdb_size = ((ccb->arc_cdb_size + 0xff) >> 8) + 2; in arcmsr_post_ccb()
1937 ccb_post_stamp = (ccb->smid | arc_cdb_size); in arcmsr_post_ccb()
2508 struct CommandControlBlock *ccb; in arcmsr_hbaC_postqueue_isr() local
2524 ccb = container_of(arcmsr_cdb, struct CommandControlBlock, in arcmsr_hbaC_postqueue_isr()
2529 arcmsr_drain_donequeue(acb, ccb, error); in arcmsr_hbaC_postqueue_isr()
2546 struct CommandControlBlock *ccb; in arcmsr_hbaD_postqueue_isr() local
2568 ccb = container_of(arcmsr_cdb, in arcmsr_hbaD_postqueue_isr()
2572 arcmsr_drain_donequeue(acb, ccb, error); in arcmsr_hbaD_postqueue_isr()
2589 struct CommandControlBlock *ccb; in arcmsr_hbaE_postqueue_isr() local
2597 ccb = acb->pccb_pool[cmdSMID]; in arcmsr_hbaE_postqueue_isr()
2600 arcmsr_drain_donequeue(acb, ccb, error); in arcmsr_hbaE_postqueue_isr()
2616 struct CommandControlBlock *ccb; in arcmsr_hbaF_postqueue_isr() local
2626 ccb = acb->pccb_pool[cmdSMID]; in arcmsr_hbaF_postqueue_isr()
2629 arcmsr_drain_donequeue(acb, ccb, error); in arcmsr_hbaF_postqueue_isr()
3171 struct CommandControlBlock *ccb = NULL; in arcmsr_get_freeccb() local
3175 ccb = list_entry(head->next, struct CommandControlBlock, list); in arcmsr_get_freeccb()
3176 list_del_init(&ccb->list); in arcmsr_get_freeccb()
3182 return ccb; in arcmsr_get_freeccb()
3240 struct CommandControlBlock *ccb; in arcmsr_queue_command_lck() local
3256 ccb = arcmsr_get_freeccb(acb); in arcmsr_queue_command_lck()
3257 if (!ccb) in arcmsr_queue_command_lck()
3259 if (arcmsr_build_ccb( acb, ccb, cmd ) == FAILED) { in arcmsr_queue_command_lck()
3264 arcmsr_post_ccb(acb, ccb); in arcmsr_queue_command_lck()
3484 struct CommandControlBlock *ccb; in arcmsr_hbaA_polling_ccbdone() local
3513 ccb = container_of(arcmsr_cdb, struct CommandControlBlock, arcmsr_cdb); in arcmsr_hbaA_polling_ccbdone()
3514 poll_ccb_done |= (ccb == poll_ccb) ? 1 : 0; in arcmsr_hbaA_polling_ccbdone()
3515 if ((ccb->acb != acb) || (ccb->startdone != ARCMSR_CCB_START)) { in arcmsr_hbaA_polling_ccbdone()
3516 if ((ccb->startdone == ARCMSR_CCB_ABORTED) || (ccb == poll_ccb)) { in arcmsr_hbaA_polling_ccbdone()
3520 , ccb->pcmd->device->id in arcmsr_hbaA_polling_ccbdone()
3521 , (u32)ccb->pcmd->device->lun in arcmsr_hbaA_polling_ccbdone()
3522 , ccb); in arcmsr_hbaA_polling_ccbdone()
3523 ccb->pcmd->result = DID_ABORT << 16; in arcmsr_hbaA_polling_ccbdone()
3524 arcmsr_ccb_complete(ccb); in arcmsr_hbaA_polling_ccbdone()
3531 , ccb in arcmsr_hbaA_polling_ccbdone()
3536 arcmsr_report_ccb_state(acb, ccb, error); in arcmsr_hbaA_polling_ccbdone()
3546 struct CommandControlBlock *ccb; in arcmsr_hbaB_polling_ccbdone() local
3582 ccb = container_of(arcmsr_cdb, struct CommandControlBlock, arcmsr_cdb); in arcmsr_hbaB_polling_ccbdone()
3583 poll_ccb_done |= (ccb == poll_ccb) ? 1 : 0; in arcmsr_hbaB_polling_ccbdone()
3584 if ((ccb->acb != acb) || (ccb->startdone != ARCMSR_CCB_START)) { in arcmsr_hbaB_polling_ccbdone()
3585 if ((ccb->startdone == ARCMSR_CCB_ABORTED) || (ccb == poll_ccb)) { in arcmsr_hbaB_polling_ccbdone()
3589 ,ccb->pcmd->device->id in arcmsr_hbaB_polling_ccbdone()
3590 ,(u32)ccb->pcmd->device->lun in arcmsr_hbaB_polling_ccbdone()
3591 ,ccb); in arcmsr_hbaB_polling_ccbdone()
3592 ccb->pcmd->result = DID_ABORT << 16; in arcmsr_hbaB_polling_ccbdone()
3593 arcmsr_ccb_complete(ccb); in arcmsr_hbaB_polling_ccbdone()
3600 , ccb in arcmsr_hbaB_polling_ccbdone()
3605 arcmsr_report_ccb_state(acb, ccb, error); in arcmsr_hbaB_polling_ccbdone()
4537 struct CommandControlBlock *ccb; in arcmsr_iop_reset() local
4551 ccb = acb->pccb_pool[i]; in arcmsr_iop_reset()
4552 if (ccb->startdone == ARCMSR_CCB_START) { in arcmsr_iop_reset()
4553 scsi_dma_unmap(ccb->pcmd); in arcmsr_iop_reset()
4554 ccb->startdone = ARCMSR_CCB_DONE; in arcmsr_iop_reset()
4555 ccb->ccb_flags = 0; in arcmsr_iop_reset()
4557 list_add_tail(&ccb->list, &acb->ccb_free_list); in arcmsr_iop_reset()
4624 struct CommandControlBlock *ccb) in arcmsr_abort_one_cmd() argument
4627 rtn = arcmsr_polling_ccbdone(acb, ccb); in arcmsr_abort_one_cmd()
4659 struct CommandControlBlock *ccb = acb->pccb_pool[i]; in arcmsr_abort() local
4660 if (ccb->startdone == ARCMSR_CCB_START && ccb->pcmd == cmd) { in arcmsr_abort()
4661 ccb->startdone = ARCMSR_CCB_ABORTED; in arcmsr_abort()
4662 rtn = arcmsr_abort_one_cmd(acb, ccb); in arcmsr_abort()