• Home
  • Raw
  • Download

Lines Matching refs:SCpnt

384     host->SCpnt = NULL;  in acornscsi_resetcard()
562 if (host->SCpnt) in acornscsi_target()
563 return '0' + host->SCpnt->device->id; in acornscsi_target()
700 struct scsi_cmnd *SCpnt; in acornscsi_kick() local
703 SCpnt = host->origSCpnt; in acornscsi_kick()
707 if (!SCpnt) { in acornscsi_kick()
708 SCpnt = queue_remove_exclude(&host->queues.issue, host->busyluns); in acornscsi_kick()
709 if (!SCpnt) in acornscsi_kick()
715 if (host->scsi.disconnectable && host->SCpnt) { in acornscsi_kick()
716 queue_add_cmd_tail(&host->queues.disconnected, host->SCpnt); in acornscsi_kick()
719 DBG(host->SCpnt, printk("scsi%d.%c: moved command to disconnected queue\n", in acornscsi_kick()
722 host->SCpnt = NULL; in acornscsi_kick()
730 sbic_arm_write(host, SBIC_DESTID, SCpnt->device->id); in acornscsi_kick()
739 host->SCpnt = SCpnt; in acornscsi_kick()
740 host->scsi.SCp = SCpnt->SCp; in acornscsi_kick()
746 DBG(SCpnt,printk("scsi%d.%c: starting cmd %02X\n", in acornscsi_kick()
747 host->host->host_no, '0' + SCpnt->device->id, in acornscsi_kick()
748 SCpnt->cmnd[0])); in acornscsi_kick()
756 if (SCpnt->device->simple_tags) { in acornscsi_kick()
757 SCpnt->device->current_tag += 1; in acornscsi_kick()
758 if (SCpnt->device->current_tag == 0) in acornscsi_kick()
759 SCpnt->device->current_tag = 1; in acornscsi_kick()
760 SCpnt->tag = SCpnt->device->current_tag; in acornscsi_kick()
763 set_bit(SCpnt->device->id * 8 + in acornscsi_kick()
764 (u8)(SCpnt->device->lun & 0x07), host->busyluns); in acornscsi_kick()
768 switch (acornscsi_cmdtype(SCpnt->cmnd[0])) { in acornscsi_kick()
793 struct scsi_cmnd *SCpnt = *SCpntp; in acornscsi_done() local
800 if (SCpnt) { in acornscsi_done()
805 SCpnt->result = result << 16 | host->scsi.SCp.Message << 8 | host->scsi.SCp.Status; in acornscsi_done()
818 if (SCpnt->underflow == 0) { in acornscsi_done()
820 acornscsi_cmdtype(SCpnt->cmnd[0]) != CMD_MISC) in acornscsi_done()
823 if (host->scsi.SCp.scsi_xferred < SCpnt->underflow || in acornscsi_done()
844 switch (status_byte(SCpnt->result)) { in acornscsi_done()
853 scmd_printk(KERN_ERR, SCpnt, in acornscsi_done()
855 "result=%08X", SCpnt->result); in acornscsi_done()
856 scsi_print_command(SCpnt); in acornscsi_done()
858 acornscsi_dumplog(host, SCpnt->device->id); in acornscsi_done()
859 set_host_byte(SCpnt, DID_ERROR); in acornscsi_done()
864 if (!SCpnt->scsi_done) in acornscsi_done()
867 clear_bit(SCpnt->device->id * 8 + in acornscsi_done()
868 (u8)(SCpnt->device->lun & 0x7), host->busyluns); in acornscsi_done()
870 SCpnt->scsi_done(SCpnt); in acornscsi_done()
1002 DBG(host->SCpnt, acornscsi_dumpdma(host, "stop")); in acornscsi_dma_stop()
1025 if (NO_WRITE & (1 << host->SCpnt->device->id)) { in acornscsi_dma_setup()
1061 DBG(host->SCpnt, acornscsi_dumpdma(host, "strt")); in acornscsi_dma_setup()
1100 DBG(host->SCpnt, acornscsi_dumpdma(host, "cupi")); in acornscsi_dma_cleanup()
1118 DBG(host->SCpnt, acornscsi_dumpdma(host, "cupo")); in acornscsi_dma_cleanup()
1139 DBG(host->SCpnt, acornscsi_dumpdma(host, "inti")); in acornscsi_dma_intr()
1188 DBG(host->SCpnt, acornscsi_dumpdma(host, "into")); in acornscsi_dma_intr()
1200 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_dma_intr()
1240 DBG(host->SCpnt, acornscsi_dumpdma(host, "adji")); in acornscsi_dma_adjust()
1265 DBG(host->SCpnt, acornscsi_dumpdma(host, "adjo")); in acornscsi_dma_adjust()
1308 struct scsi_cmnd *SCpnt = host->SCpnt; in acornscsi_sendcommand() local
1312 sbic_arm_writenext(host, SCpnt->cmd_len - host->scsi.SCp.sent_command); in acornscsi_sendcommand()
1316 if (acornscsi_write_pio(host, SCpnt->cmnd, in acornscsi_sendcommand()
1317 (int *)&host->scsi.SCp.sent_command, SCpnt->cmd_len, 1000000)) in acornscsi_sendcommand()
1501 acornscsi_dumplog(host, host->SCpnt->device->id); in acornscsi_message()
1515 host->SCpnt->SCp = host->scsi.SCp; in acornscsi_message()
1516 host->SCpnt->SCp.sent_command = 0; in acornscsi_message()
1531 host->scsi.SCp = host->SCpnt->SCp; in acornscsi_message()
1557 if (host->device[host->SCpnt->device->id].sync_state == SYNC_SENT_REQUEST) in acornscsi_message()
1558 host->device[host->SCpnt->device->id].sync_state = SYNC_NEGOCIATE; in acornscsi_message()
1580 host->SCpnt->device->simple_tags = 0; in acornscsi_message()
1581 set_bit(host->SCpnt->device->id * 8 + in acornscsi_message()
1582 (u8)(host->SCpnt->device->lun & 0x7), host->busyluns); in acornscsi_message()
1591 host->device[host->SCpnt->device->id].sync_xfer = SYNCHTRANSFER_2DBA; in acornscsi_message()
1592 host->device[host->SCpnt->device->id].sync_state = SYNC_ASYNCHRONOUS; in acornscsi_message()
1593 sbic_arm_write(host, SBIC_SYNCHTRANSFER, host->device[host->SCpnt->device->id].sync_xfer); in acornscsi_message()
1616 if (host->device[host->SCpnt->device->id].sync_state == SYNC_SENT_REQUEST) { in acornscsi_message()
1623 host->device[host->SCpnt->device->id].sync_state = SYNC_COMPLETED; in acornscsi_message()
1627 host->device[host->SCpnt->device->id].sync_xfer = in acornscsi_message()
1640 host->device[host->SCpnt->device->id].sync_xfer = in acornscsi_message()
1643 sbic_arm_write(host, SBIC_SYNCHTRANSFER, host->device[host->SCpnt->device->id].sync_xfer); in acornscsi_message()
1693 IDENTIFY(host->device[host->SCpnt->device->id].disconnect_ok, in acornscsi_buildmessages()
1694 host->SCpnt->device->lun)); in acornscsi_buildmessages()
1699 acornscsi_abortcmd(host->SCpnt->tag); in acornscsi_buildmessages()
1705 if (host->SCpnt->tag) { in acornscsi_buildmessages()
1708 if (host->SCpnt->cmnd[0] == REQUEST_SENSE || in acornscsi_buildmessages()
1709 host->SCpnt->cmnd[0] == TEST_UNIT_READY || in acornscsi_buildmessages()
1710 host->SCpnt->cmnd[0] == INQUIRY) in acornscsi_buildmessages()
1714 msgqueue_addmsg(&host->scsi.msgs, 2, tag_type, host->SCpnt->tag); in acornscsi_buildmessages()
1719 if (host->device[host->SCpnt->device->id].sync_state == SYNC_NEGOCIATE) { in acornscsi_buildmessages()
1720 host->device[host->SCpnt->device->id].sync_state = SYNC_SENT_REQUEST; in acornscsi_buildmessages()
1745 residual = scsi_bufflen(host->SCpnt) - host->scsi.SCp.scsi_xferred; in acornscsi_starttransfer()
1747 sbic_arm_write(host, SBIC_SYNCHTRANSFER, host->device[host->SCpnt->device->id].sync_xfer); in acornscsi_starttransfer()
1780 if (host->SCpnt && !host->scsi.disconnectable) { in acornscsi_reconnect()
1783 host->host->host_no, target, host->SCpnt->device->id); in acornscsi_reconnect()
1784 host->SCpnt = NULL; in acornscsi_reconnect()
1793 if (host->scsi.disconnectable && host->SCpnt && in acornscsi_reconnect()
1794 host->SCpnt->device->id == target && host->SCpnt->device->lun == lun) in acornscsi_reconnect()
1811 if (host->SCpnt) { in acornscsi_reconnect()
1812 queue_add_cmd_tail(&host->queues.disconnected, host->SCpnt); in acornscsi_reconnect()
1813 host->SCpnt = NULL; in acornscsi_reconnect()
1829 if (host->scsi.disconnectable && host->SCpnt) { in acornscsi_reconnect_finish()
1831 if (host->SCpnt->device->id == host->scsi.reconnected.target && in acornscsi_reconnect_finish()
1832 host->SCpnt->device->lun == host->scsi.reconnected.lun && in acornscsi_reconnect_finish()
1833 host->SCpnt->tag == host->scsi.reconnected.tag) { in acornscsi_reconnect_finish()
1835 DBG(host->SCpnt, printk("scsi%d.%c: reconnected", in acornscsi_reconnect_finish()
1839 queue_add_cmd_tail(&host->queues.disconnected, host->SCpnt); in acornscsi_reconnect_finish()
1841 DBG(host->SCpnt, printk("scsi%d.%c: had to move command " in acornscsi_reconnect_finish()
1845 host->SCpnt = NULL; in acornscsi_reconnect_finish()
1848 if (!host->SCpnt) { in acornscsi_reconnect_finish()
1849 host->SCpnt = queue_remove_tgtluntag(&host->queues.disconnected, in acornscsi_reconnect_finish()
1854 DBG(host->SCpnt, printk("scsi%d.%c: had to get command", in acornscsi_reconnect_finish()
1859 if (!host->SCpnt) in acornscsi_reconnect_finish()
1865 host->scsi.SCp = host->SCpnt->SCp; in acornscsi_reconnect_finish()
1877 return host->SCpnt != NULL; in acornscsi_reconnect_finish()
1894 acornscsi_done(host, &host->SCpnt, DID_ERROR); in acornscsi_disconnect_unexpected()
1946 if (host->SCpnt && !host->scsi.disconnectable) in acornscsi_sbicintr()
1947 ADD_STATUS(host->SCpnt->device->id, ssr, host->scsi.phase, in_irq); in acornscsi_sbicintr()
1985 ADD_STATUS(host->SCpnt->device->id, ssr, host->scsi.phase, 1); in acornscsi_sbicintr()
1990 acornscsi_done(host, &host->SCpnt, DID_NO_CONNECT); in acornscsi_sbicintr()
1995 host->origSCpnt = host->SCpnt; in acornscsi_sbicintr()
1996 host->SCpnt = NULL; in acornscsi_sbicintr()
2004 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2005 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2034 acornscsi_done(host, &host->SCpnt, DID_ERROR); in acornscsi_sbicintr()
2040 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2041 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2078 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2086 if (host->scsi.SCp.sent_command != host->SCpnt->cmd_len) in acornscsi_sbicintr()
2087 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2090 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2096 if (host->scsi.SCp.sent_command != host->SCpnt->cmd_len) in acornscsi_sbicintr()
2097 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2100 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2123 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2136 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2146 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2161 ADD_STATUS(host->SCpnt->device->id, ssr, host->scsi.phase, in_irq); in acornscsi_sbicintr()
2168 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2177 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2206 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2218 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2225 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2236 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2246 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2255 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2267 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_sbicintr()
2274 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2286 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2297 host->scsi.SCp.scsi_xferred = scsi_bufflen(host->SCpnt) - in acornscsi_sbicintr()
2307 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2328 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2351 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2352 acornscsi_done(host, &host->SCpnt, DID_ERROR); in acornscsi_sbicintr()
2358 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2365 acornscsi_done(host, &host->SCpnt, DID_OK); in acornscsi_sbicintr()
2376 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2383 if (host->SCpnt) in acornscsi_sbicintr()
2384 acornscsi_done(host, &host->SCpnt, DID_ABORT); in acornscsi_sbicintr()
2402 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2409 acornscsi_dumplog(host, host->SCpnt ? host->SCpnt->device->id : 8); in acornscsi_sbicintr()
2469 static int acornscsi_queuecmd_lck(struct scsi_cmnd *SCpnt, in acornscsi_queuecmd_lck() argument
2472 AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; in acornscsi_queuecmd_lck()
2477 host->host->host_no, SCpnt); in acornscsi_queuecmd_lck()
2482 if (acornscsi_cmdtype(SCpnt->cmnd[0]) == CMD_WRITE && (NO_WRITE & (1 << SCpnt->device->id))) { in acornscsi_queuecmd_lck()
2484 host->host->host_no, '0' + SCpnt->device->id); in acornscsi_queuecmd_lck()
2485 SCpnt->result = DID_NO_CONNECT << 16; in acornscsi_queuecmd_lck()
2486 done(SCpnt); in acornscsi_queuecmd_lck()
2491 SCpnt->scsi_done = done; in acornscsi_queuecmd_lck()
2492 SCpnt->host_scribble = NULL; in acornscsi_queuecmd_lck()
2493 SCpnt->result = 0; in acornscsi_queuecmd_lck()
2494 SCpnt->tag = 0; in acornscsi_queuecmd_lck()
2495 SCpnt->SCp.phase = (int)acornscsi_datadirection(SCpnt->cmnd[0]); in acornscsi_queuecmd_lck()
2496 SCpnt->SCp.sent_command = 0; in acornscsi_queuecmd_lck()
2497 SCpnt->SCp.scsi_xferred = 0; in acornscsi_queuecmd_lck()
2499 init_SCp(SCpnt); in acornscsi_queuecmd_lck()
2506 if (!queue_add_cmd_ordered(&host->queues.issue, SCpnt)) { in acornscsi_queuecmd_lck()
2507 SCpnt->result = DID_ERROR << 16; in acornscsi_queuecmd_lck()
2508 done(SCpnt); in acornscsi_queuecmd_lck()
2533 struct scsi_cmnd *SCpnt = *SCpntp1; in DEF_SCSI_QCMD() local
2535 if (SCpnt) { in DEF_SCSI_QCMD()
2538 SCpnt->result = result; in DEF_SCSI_QCMD()
2539 SCpnt->scsi_done(SCpnt); in DEF_SCSI_QCMD()
2542 if (SCpnt == *SCpntp2) in DEF_SCSI_QCMD()
2554 static enum res_abort acornscsi_do_abort(AS_Host *host, struct scsi_cmnd *SCpnt) in acornscsi_do_abort() argument
2558 if (queue_remove_cmd(&host->queues.issue, SCpnt)) { in acornscsi_do_abort()
2569 } else if (queue_remove_cmd(&host->queues.disconnected, SCpnt)) { in acornscsi_do_abort()
2581 } else if (host->SCpnt == SCpnt) { in acornscsi_do_abort()
2601 host->SCpnt = NULL; in acornscsi_do_abort()
2613 host->SCpnt = NULL; in acornscsi_do_abort()
2618 acornscsi_abortcmd(host, host->SCpnt->tag); in acornscsi_do_abort()
2622 } else if (host->origSCpnt == SCpnt) { in acornscsi_do_abort()
2646 int acornscsi_abort(struct scsi_cmnd *SCpnt) in acornscsi_abort() argument
2648 AS_Host *host = (AS_Host *) SCpnt->device->host->hostdata; in acornscsi_abort()
2661 acornscsi_dumplog(host, SCpnt->device->id); in acornscsi_abort()
2667 switch (acornscsi_do_abort(host, SCpnt)) { in acornscsi_abort()
2677 clear_bit(SCpnt->device->id * 8 + in acornscsi_abort()
2678 (u8)(SCpnt->device->lun & 0x7), host->busyluns); in acornscsi_abort()
2710 acornscsi_dumplog(host, SCpnt->device->id); in acornscsi_abort()
2727 int acornscsi_bus_reset(struct scsi_cmnd *SCpnt) in acornscsi_bus_reset() argument
2729 AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; in acornscsi_bus_reset()
2743 acornscsi_dumplog(host, SCpnt->device->id); in acornscsi_bus_reset()