Lines Matching refs:SCpnt

371     host->SCpnt = NULL;  in acornscsi_resetcard()
549 if (host->SCpnt) in acornscsi_target()
550 return '0' + host->SCpnt->device->id; in acornscsi_target()
688 struct scsi_cmnd *SCpnt; in acornscsi_kick() local
691 SCpnt = host->origSCpnt; in acornscsi_kick()
695 if (!SCpnt) { in acornscsi_kick()
696 SCpnt = queue_remove_exclude(&host->queues.issue, host->busyluns); in acornscsi_kick()
697 if (!SCpnt) in acornscsi_kick()
703 if (host->scsi.disconnectable && host->SCpnt) { in acornscsi_kick()
704 queue_add_cmd_tail(&host->queues.disconnected, host->SCpnt); in acornscsi_kick()
707 DBG(host->SCpnt, printk("scsi%d.%c: moved command to disconnected queue\n", in acornscsi_kick()
710 host->SCpnt = NULL; in acornscsi_kick()
718 sbic_arm_write(host, SBIC_DESTID, SCpnt->device->id); in acornscsi_kick()
727 host->SCpnt = SCpnt; in acornscsi_kick()
728 host->scsi.SCp = SCpnt->SCp; in acornscsi_kick()
734 DBG(SCpnt,printk("scsi%d.%c: starting cmd %02X\n", in acornscsi_kick()
735 host->host->host_no, '0' + SCpnt->device->id, in acornscsi_kick()
736 SCpnt->cmnd[0])); in acornscsi_kick()
740 set_bit(SCpnt->device->id * 8 + in acornscsi_kick()
741 (u8)(SCpnt->device->lun & 0x07), host->busyluns); in acornscsi_kick()
745 switch (acornscsi_cmdtype(SCpnt->cmnd[0])) { in acornscsi_kick()
770 struct scsi_cmnd *SCpnt = *SCpntp; in acornscsi_done() local
777 if (SCpnt) { in acornscsi_done()
782 set_host_byte(SCpnt, result); in acornscsi_done()
784 scsi_msg_to_host_byte(SCpnt, host->scsi.SCp.Message); in acornscsi_done()
785 set_status_byte(SCpnt, host->scsi.SCp.Status); in acornscsi_done()
798 if (SCpnt->underflow == 0) { in acornscsi_done()
800 acornscsi_cmdtype(SCpnt->cmnd[0]) != CMD_MISC) in acornscsi_done()
803 if (host->scsi.SCp.scsi_xferred < SCpnt->underflow || in acornscsi_done()
824 switch (get_status_byte(SCpnt)) { in acornscsi_done()
833 scmd_printk(KERN_ERR, SCpnt, in acornscsi_done()
835 "result=%08X", SCpnt->result); in acornscsi_done()
836 scsi_print_command(SCpnt); in acornscsi_done()
838 acornscsi_dumplog(host, SCpnt->device->id); in acornscsi_done()
839 set_host_byte(SCpnt, DID_ERROR); in acornscsi_done()
844 clear_bit(SCpnt->device->id * 8 + in acornscsi_done()
845 (u8)(SCpnt->device->lun & 0x7), host->busyluns); in acornscsi_done()
847 scsi_done(SCpnt); in acornscsi_done()
979 DBG(host->SCpnt, acornscsi_dumpdma(host, "stop")); in acornscsi_dma_stop()
1002 if (NO_WRITE & (1 << host->SCpnt->device->id)) { in acornscsi_dma_setup()
1038 DBG(host->SCpnt, acornscsi_dumpdma(host, "strt")); in acornscsi_dma_setup()
1077 DBG(host->SCpnt, acornscsi_dumpdma(host, "cupi")); in acornscsi_dma_cleanup()
1095 DBG(host->SCpnt, acornscsi_dumpdma(host, "cupo")); in acornscsi_dma_cleanup()
1116 DBG(host->SCpnt, acornscsi_dumpdma(host, "inti")); in acornscsi_dma_intr()
1165 DBG(host->SCpnt, acornscsi_dumpdma(host, "into")); in acornscsi_dma_intr()
1217 DBG(host->SCpnt, acornscsi_dumpdma(host, "adji")); in acornscsi_dma_adjust()
1242 DBG(host->SCpnt, acornscsi_dumpdma(host, "adjo")); in acornscsi_dma_adjust()
1285 struct scsi_cmnd *SCpnt = host->SCpnt; in acornscsi_sendcommand() local
1289 sbic_arm_writenext(host, SCpnt->cmd_len - host->scsi.SCp.sent_command); in acornscsi_sendcommand()
1293 if (acornscsi_write_pio(host, SCpnt->cmnd, in acornscsi_sendcommand()
1294 (int *)&host->scsi.SCp.sent_command, SCpnt->cmd_len, 1000000)) in acornscsi_sendcommand()
1478 acornscsi_dumplog(host, host->SCpnt->device->id); in acornscsi_message()
1492 host->SCpnt->SCp = host->scsi.SCp; in acornscsi_message()
1493 host->SCpnt->SCp.sent_command = 0; in acornscsi_message()
1508 host->scsi.SCp = host->SCpnt->SCp; in acornscsi_message()
1534 if (host->device[host->SCpnt->device->id].sync_state == SYNC_SENT_REQUEST) in acornscsi_message()
1535 host->device[host->SCpnt->device->id].sync_state = SYNC_NEGOCIATE; in acornscsi_message()
1551 host->device[host->SCpnt->device->id].sync_xfer = SYNCHTRANSFER_2DBA; in acornscsi_message()
1552 host->device[host->SCpnt->device->id].sync_state = SYNC_ASYNCHRONOUS; in acornscsi_message()
1553 sbic_arm_write(host, SBIC_SYNCHTRANSFER, host->device[host->SCpnt->device->id].sync_xfer); in acornscsi_message()
1572 if (host->device[host->SCpnt->device->id].sync_state == SYNC_SENT_REQUEST) { in acornscsi_message()
1579 host->device[host->SCpnt->device->id].sync_state = SYNC_COMPLETED; in acornscsi_message()
1583 host->device[host->SCpnt->device->id].sync_xfer = in acornscsi_message()
1596 host->device[host->SCpnt->device->id].sync_xfer = in acornscsi_message()
1599 sbic_arm_write(host, SBIC_SYNCHTRANSFER, host->device[host->SCpnt->device->id].sync_xfer); in acornscsi_message()
1649 IDENTIFY(host->device[host->SCpnt->device->id].disconnect_ok, in acornscsi_buildmessages()
1650 host->SCpnt->device->lun)); in acornscsi_buildmessages()
1662 if (host->device[host->SCpnt->device->id].sync_state == SYNC_NEGOCIATE) { in acornscsi_buildmessages()
1663 host->device[host->SCpnt->device->id].sync_state = SYNC_SENT_REQUEST; in acornscsi_buildmessages()
1688 residual = scsi_bufflen(host->SCpnt) - host->scsi.SCp.scsi_xferred; in acornscsi_starttransfer()
1690 sbic_arm_write(host, SBIC_SYNCHTRANSFER, host->device[host->SCpnt->device->id].sync_xfer); in acornscsi_starttransfer()
1723 if (host->SCpnt && !host->scsi.disconnectable) { in acornscsi_reconnect()
1726 host->host->host_no, target, host->SCpnt->device->id); in acornscsi_reconnect()
1727 host->SCpnt = NULL; in acornscsi_reconnect()
1736 if (host->scsi.disconnectable && host->SCpnt && in acornscsi_reconnect()
1737 host->SCpnt->device->id == target && host->SCpnt->device->lun == lun) in acornscsi_reconnect()
1754 if (host->SCpnt) { in acornscsi_reconnect()
1755 queue_add_cmd_tail(&host->queues.disconnected, host->SCpnt); in acornscsi_reconnect()
1756 host->SCpnt = NULL; in acornscsi_reconnect()
1772 if (host->scsi.disconnectable && host->SCpnt) { in acornscsi_reconnect_finish()
1774 if (host->SCpnt->device->id == host->scsi.reconnected.target && in acornscsi_reconnect_finish()
1775 host->SCpnt->device->lun == host->scsi.reconnected.lun && in acornscsi_reconnect_finish()
1776 scsi_cmd_to_rq(host->SCpnt)->tag == host->scsi.reconnected.tag) { in acornscsi_reconnect_finish()
1778 DBG(host->SCpnt, printk("scsi%d.%c: reconnected", in acornscsi_reconnect_finish()
1782 queue_add_cmd_tail(&host->queues.disconnected, host->SCpnt); in acornscsi_reconnect_finish()
1784 DBG(host->SCpnt, printk("scsi%d.%c: had to move command " in acornscsi_reconnect_finish()
1788 host->SCpnt = NULL; in acornscsi_reconnect_finish()
1791 if (!host->SCpnt) { in acornscsi_reconnect_finish()
1792 host->SCpnt = queue_remove_tgtluntag(&host->queues.disconnected, in acornscsi_reconnect_finish()
1797 DBG(host->SCpnt, printk("scsi%d.%c: had to get command", in acornscsi_reconnect_finish()
1802 if (!host->SCpnt) in acornscsi_reconnect_finish()
1808 host->scsi.SCp = host->SCpnt->SCp; in acornscsi_reconnect_finish()
1820 return host->SCpnt != NULL; in acornscsi_reconnect_finish()
1837 acornscsi_done(host, &host->SCpnt, DID_ERROR); in acornscsi_disconnect_unexpected()
1883 if (host->SCpnt && !host->scsi.disconnectable) in acornscsi_sbicintr()
1884 ADD_STATUS(host->SCpnt->device->id, ssr, host->scsi.phase, in_irq); in acornscsi_sbicintr()
1922 ADD_STATUS(host->SCpnt->device->id, ssr, host->scsi.phase, 1); in acornscsi_sbicintr()
1927 acornscsi_done(host, &host->SCpnt, DID_NO_CONNECT); in acornscsi_sbicintr()
1932 host->origSCpnt = host->SCpnt; in acornscsi_sbicintr()
1933 host->SCpnt = NULL; in acornscsi_sbicintr()
1941 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
1971 acornscsi_done(host, &host->SCpnt, DID_ERROR); in acornscsi_sbicintr()
1977 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2015 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2023 if (host->scsi.SCp.sent_command != host->SCpnt->cmd_len) in acornscsi_sbicintr()
2033 if (host->scsi.SCp.sent_command != host->SCpnt->cmd_len) in acornscsi_sbicintr()
2060 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2073 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2083 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2098 ADD_STATUS(host->SCpnt->device->id, ssr, host->scsi.phase, in_irq); in acornscsi_sbicintr()
2143 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2162 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2173 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2183 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2192 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2211 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2223 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2234 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2244 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2265 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2288 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2289 acornscsi_done(host, &host->SCpnt, DID_ERROR); in acornscsi_sbicintr()
2295 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2302 acornscsi_done(host, &host->SCpnt, DID_OK); in acornscsi_sbicintr()
2313 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2320 if (host->SCpnt) in acornscsi_sbicintr()
2321 acornscsi_done(host, &host->SCpnt, DID_ABORT); in acornscsi_sbicintr()
2339 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2346 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2405 static int acornscsi_queuecmd_lck(struct scsi_cmnd *SCpnt) in acornscsi_queuecmd_lck() argument
2408 AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; in acornscsi_queuecmd_lck()
2411 if (acornscsi_cmdtype(SCpnt->cmnd[0]) == CMD_WRITE && (NO_WRITE & (1 << SCpnt->device->id))) { in acornscsi_queuecmd_lck()
2413 host->host->host_no, '0' + SCpnt->device->id); in acornscsi_queuecmd_lck()
2414 set_host_byte(SCpnt, DID_NO_CONNECT); in acornscsi_queuecmd_lck()
2415 done(SCpnt); in acornscsi_queuecmd_lck()
2420 SCpnt->host_scribble = NULL; in acornscsi_queuecmd_lck()
2421 SCpnt->result = 0; in acornscsi_queuecmd_lck()
2422 SCpnt->SCp.phase = (int)acornscsi_datadirection(SCpnt->cmnd[0]); in acornscsi_queuecmd_lck()
2423 SCpnt->SCp.sent_command = 0; in acornscsi_queuecmd_lck()
2424 SCpnt->SCp.scsi_xferred = 0; in acornscsi_queuecmd_lck()
2426 init_SCp(SCpnt); in acornscsi_queuecmd_lck()
2433 if (!queue_add_cmd_ordered(&host->queues.issue, SCpnt)) { in acornscsi_queuecmd_lck()
2434 set_host_byte(SCpnt, DID_ERROR); in acornscsi_queuecmd_lck()
2435 done(SCpnt); in acornscsi_queuecmd_lck()
2456 static enum res_abort acornscsi_do_abort(AS_Host *host, struct scsi_cmnd *SCpnt) in acornscsi_do_abort() argument
2460 if (queue_remove_cmd(&host->queues.issue, SCpnt)) { in acornscsi_do_abort()
2471 } else if (queue_remove_cmd(&host->queues.disconnected, SCpnt)) { in acornscsi_do_abort()
2483 } else if (host->SCpnt == SCpnt) { in acornscsi_do_abort()
2503 host->SCpnt = NULL; in acornscsi_do_abort()
2515 host->SCpnt = NULL; in acornscsi_do_abort()
2524 } else if (host->origSCpnt == SCpnt) { in acornscsi_do_abort()
2548 int acornscsi_abort(struct scsi_cmnd *SCpnt) in acornscsi_abort() argument
2550 AS_Host *host = (AS_Host *) SCpnt->device->host->hostdata; in acornscsi_abort()
2563 acornscsi_dumplog(host, SCpnt->device->id); in acornscsi_abort()
2569 switch (acornscsi_do_abort(host, SCpnt)) { in acornscsi_abort()
2579 clear_bit(SCpnt->device->id * 8 + in acornscsi_abort()
2580 (u8)(SCpnt->device->lun & 0x7), host->busyluns); in acornscsi_abort()
2613 acornscsi_dumplog(host, SCpnt->device->id); in acornscsi_abort()
2630 int acornscsi_host_reset(struct scsi_cmnd *SCpnt) in acornscsi_host_reset() argument
2632 AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; in acornscsi_host_reset()