Lines Matching refs:instance

314 static int NCR5380_poll_politely(struct Scsi_Host *instance, int reg, int bit, int val, int t)  in NCR5380_poll_politely()  argument
321 NCR5380_setup(instance); in NCR5380_poll_politely()
407 static void NCR5380_print(struct Scsi_Host *instance) in NCR5380_print() argument
411 NCR5380_setup(instance); in NCR5380_print()
448 static void NCR5380_print_phase(struct Scsi_Host *instance) in NCR5380_print_phase() argument
453 NCR5380_setup(instance); in NCR5380_print_phase()
457 printk("scsi%d : REQ not asserted, phase unknown.\n", instance->host_no); in NCR5380_print_phase()
460 printk("scsi%d : phase %s\n", instance->host_no, phases[i].name); in NCR5380_print_phase()
566 static int __init __maybe_unused NCR5380_probe_irq(struct Scsi_Host *instance, in NCR5380_probe_irq() argument
570 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_probe_irq()
573 NCR5380_setup(instance); in NCR5380_probe_irq()
619 static const char *NCR5380_info(struct Scsi_Host *instance) in NCR5380_info() argument
621 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_info()
626 static void prepare_info(struct Scsi_Host *instance) in prepare_info() argument
628 struct NCR5380_hostdata *hostdata = shost_priv(instance); in prepare_info()
640 instance->hostt->name, instance->io_port, instance->n_io_port, in prepare_info()
641 instance->base, instance->irq, in prepare_info()
642 instance->can_queue, instance->cmd_per_lun, in prepare_info()
643 instance->sg_tablesize, instance->this_id, in prepare_info()
687 static void NCR5380_print_status(struct Scsi_Host *instance) in NCR5380_print_status() argument
689 NCR5380_dprint(NDEBUG_ANY, instance); in NCR5380_print_status()
690 NCR5380_dprint_phase(NDEBUG_ANY, instance); in NCR5380_print_status()
708 static int __maybe_unused NCR5380_write_info(struct Scsi_Host *instance, in NCR5380_write_info() argument
711 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_write_info()
727 struct Scsi_Host *instance) in NCR5380_show_info() argument
732 hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_show_info()
738 spin_lock_irq(instance->host_lock); in NCR5380_show_info()
740 seq_printf(m, "scsi%d: no currently connected command\n", instance->host_no); in NCR5380_show_info()
743 seq_printf(m, "scsi%d: issue_queue\n", instance->host_no); in NCR5380_show_info()
747 seq_printf(m, "scsi%d: disconnected_queue\n", instance->host_no); in NCR5380_show_info()
750 spin_unlock_irq(instance->host_lock); in NCR5380_show_info()
792 static int NCR5380_init(struct Scsi_Host *instance, int flags) in NCR5380_init() argument
797 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_init()
808 instance->NCR5380_instance_name += NCR53C400_address_adjust; in NCR5380_init()
811 NCR5380_setup(instance); in NCR5380_init()
814 hostdata->id_mask = 1 << instance->this_id; in NCR5380_init()
836 hostdata->host = instance; in NCR5380_init()
839 prepare_info(instance); in NCR5380_init()
869 printk(KERN_INFO "scsi%d: SCSI bus busy, waiting up to five seconds\n", instance->host_no); in NCR5380_init()
871 NCR5380_poll_politely(instance, STATUS_REG, SR_BSY, 0, 5*HZ); in NCR5380_init()
874 printk(KERN_WARNING "scsi%d: bus busy, attempting abort\n", instance->host_no); in NCR5380_init()
875 do_abort(instance); in NCR5380_init()
878 printk(KERN_WARNING "scsi%d: bus busy, attempting reset\n", instance->host_no); in NCR5380_init()
879 do_reset(instance); in NCR5380_init()
882 printk(KERN_ERR "scsi%d: bus locked solid or invalid override\n", instance->host_no); in NCR5380_init()
894 static void NCR5380_exit(struct Scsi_Host *instance) in NCR5380_exit() argument
896 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_exit()
915 struct Scsi_Host *instance = cmd->device->host; in NCR5380_queue_command_lck() local
916 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_queue_command_lck()
923 printk("scsi%d : WRITE attempted with NO_WRITE debugging flag set\n", instance->host_no); in NCR5380_queue_command_lck()
955 …dprintk(NDEBUG_QUEUES, "scsi%d : command added to %s of queue\n", instance->host_no, (cmd->cmnd[0]… in NCR5380_queue_command_lck()
981 struct Scsi_Host *instance = hostdata->host; in DEF_SCSI_QCMD() local
985 spin_lock_irq(instance->host_lock); in DEF_SCSI_QCMD()
990 dprintk(NDEBUG_MAIN, "scsi%d : not connected\n", instance->host_no); in DEF_SCSI_QCMD()
1017 … : main() : command for target %d lun %llu removed from issue_queue\n", instance->host_no, tmp->de… in DEF_SCSI_QCMD()
1039 if (!NCR5380_select(instance, tmp)) { in DEF_SCSI_QCMD()
1046 …N|NDEBUG_QUEUES, "scsi%d : main(): select() failed, returned to issue_queue\n", instance->host_no); in DEF_SCSI_QCMD()
1056 if (!NCR5380_select(instance, tmp)) { in DEF_SCSI_QCMD()
1063 …printk(KERN_DEBUG "scsi%d: device %d did not respond in time\n", instance->host_no, tmp->device->i… in DEF_SCSI_QCMD()
1076 dprintk(NDEBUG_MAIN, "scsi%d : main() : performing information transfer\n", instance->host_no); in DEF_SCSI_QCMD()
1077 NCR5380_information_transfer(instance); in DEF_SCSI_QCMD()
1078 dprintk(NDEBUG_MAIN, "scsi%d : main() : done set false\n", instance->host_no); in DEF_SCSI_QCMD()
1084 spin_unlock_irq(instance->host_lock); in DEF_SCSI_QCMD()
1104 struct Scsi_Host *instance = dev_id; in NCR5380_intr() local
1105 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_intr()
1111 instance->irq); in NCR5380_intr()
1115 spin_lock_irqsave(instance->host_lock, flags); in NCR5380_intr()
1117 NCR5380_setup(instance); in NCR5380_intr()
1121 NCR5380_dprint(NDEBUG_INTR, instance); in NCR5380_intr()
1124 dprintk(NDEBUG_INTR, "scsi%d : SEL interrupt\n", instance->host_no); in NCR5380_intr()
1125 NCR5380_reselect(instance); in NCR5380_intr()
1128 dprintk(NDEBUG_INTR, "scsi%d : PARITY interrupt\n", instance->host_no); in NCR5380_intr()
1131 dprintk(NDEBUG_INTR, "scsi%d : RESET interrupt\n", instance->host_no); in NCR5380_intr()
1145 panic("scsi%d : received end of DMA interrupt with no connected cmd\n", instance->hostno); in NCR5380_intr()
1147 transferred = (hostdata->dmalen - NCR5380_dma_residual(instance)); in NCR5380_intr()
1166 spin_unlock_irqrestore(instance->host_lock, flags); in NCR5380_intr()
1206 static int NCR5380_select(struct Scsi_Host *instance, struct scsi_cmnd *cmd) in NCR5380_select() argument
1209 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_select()
1216 NCR5380_setup(instance); in NCR5380_select()
1223 NCR5380_dprint(NDEBUG_ARBITRATION, instance); in NCR5380_select()
1224 …DEBUG_ARBITRATION, "scsi%d : starting arbitration, id = %d\n", instance->host_no, instance->this_i… in NCR5380_select()
1243 spin_unlock_irq(instance->host_lock); in NCR5380_select()
1244 …err = NCR5380_poll_politely(instance, INITIATOR_COMMAND_REG, ICR_ARBITRATION_PROGRESS, ICR_ARBITRA… in NCR5380_select()
1245 spin_lock_irq(instance->host_lock); in NCR5380_select()
1253 dprintk(NDEBUG_ARBITRATION, "scsi%d : arbitration complete\n", instance->host_no); in NCR5380_select()
1267 …dprintk(NDEBUG_ARBITRATION, "scsi%d : lost arbitration, deasserting MR_ARBITRATE\n", instance->hos… in NCR5380_select()
1280 …dprintk(NDEBUG_ARBITRATION, "scsi%d : lost arbitration, deasserting ICR_ASSERT_SEL\n", instance->h… in NCR5380_select()
1290 dprintk(NDEBUG_ARBITRATION, "scsi%d : won arbitration\n", instance->host_no); in NCR5380_select()
1342 dprintk(NDEBUG_SELECTION, "scsi%d : selecting target %d\n", instance->host_no, scmd_id(cmd)); in NCR5380_select()
1378 NCR5380_reselect(instance); in NCR5380_select()
1379 printk("scsi%d : reselection after won arbitration?\n", instance->host_no); in NCR5380_select()
1396 printk(KERN_DEBUG "scsi%d : weirdness\n", instance->host_no); in NCR5380_select()
1399 NCR5380_dprint(NDEBUG_SELECTION, instance); in NCR5380_select()
1406 dprintk(NDEBUG_SELECTION, "scsi%d : target did not respond within 250ms\n", instance->host_no); in NCR5380_select()
1429 spin_unlock_irq(instance->host_lock); in NCR5380_select()
1430 err = NCR5380_poll_politely(instance, STATUS_REG, SR_REQ, SR_REQ, HZ); in NCR5380_select()
1431 spin_lock_irq(instance->host_lock); in NCR5380_select()
1434 printk(KERN_ERR "scsi%d: timeout at NCR5380.c:%d\n", instance->host_no, __LINE__); in NCR5380_select()
1439 …dprintk(NDEBUG_SELECTION, "scsi%d : target %d selected, going into MESSAGE OUT phase.\n", instance in NCR5380_select()
1440 tmp[0] = IDENTIFY(((instance->irq == NO_IRQ) ? 0 : 1), cmd->device->lun); in NCR5380_select()
1448 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_select()
1449 dprintk(NDEBUG_SELECTION, "scsi%d : nexus established.\n", instance->host_no); in NCR5380_select()
1489 static int NCR5380_transfer_pio(struct Scsi_Host *instance, unsigned char *phase, int *count, unsig… in NCR5380_transfer_pio() argument
1498 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_transfer_pio()
1499 NCR5380_setup(instance); in NCR5380_transfer_pio()
1502 dprintk(NDEBUG_PIO, "scsi%d : pio write %d bytes\n", instance->host_no, c); in NCR5380_transfer_pio()
1504 dprintk(NDEBUG_PIO, "scsi%d : pio read %d bytes\n", instance->host_no, c); in NCR5380_transfer_pio()
1539 dprintk(NDEBUG_HANDSHAKE, "scsi%d : REQ detected\n", instance->host_no); in NCR5380_transfer_pio()
1543 dprintk(NDEBUG_HANDSHAKE, "scsi%d : phase mismatch\n", instance->host_no); in NCR5380_transfer_pio()
1544 NCR5380_dprint_phase(NDEBUG_HANDSHAKE, instance); in NCR5380_transfer_pio()
1565 NCR5380_dprint(NDEBUG_PIO, instance); in NCR5380_transfer_pio()
1569 NCR5380_dprint(NDEBUG_PIO, instance); in NCR5380_transfer_pio()
1573 NCR5380_dprint(NDEBUG_PIO, instance); in NCR5380_transfer_pio()
1578 NCR5380_poll_politely(instance, STATUS_REG, SR_REQ, 0, 5*HZ); in NCR5380_transfer_pio()
1579 dprintk(NDEBUG_HANDSHAKE, "scsi%d : req false, handshake complete\n", instance->host_no); in NCR5380_transfer_pio()
1600 dprintk(NDEBUG_PIO, "scsi%d : residual %d\n", instance->host_no, c); in NCR5380_transfer_pio()
1721 static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsig… in NCR5380_transfer_dma() argument
1733 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; in NCR5380_transfer_dma()
1735 NCR5380_setup(instance); in NCR5380_transfer_dma()
1747 …si%d : initializing DMA channel %d for %s, %d bytes %s %0x\n", instance->host_no, instance->dma_ch… in NCR5380_transfer_dma()
1748 …ta->dma_len = (p & SR_IO) ? NCR5380_dma_read_setup(instance, d, c) : NCR5380_dma_write_setup(insta… in NCR5380_transfer_dma()
1765 spin_unlock_irq(instance->host_lock); in NCR5380_transfer_dma()
1776 dprintk(NDEBUG_DMA, "scsi%d : mode reg = 0x%X\n", instance->host_no, NCR5380_read(MODE_REG)); in NCR5380_transfer_dma()
1853 …dprintk(NDEBUG_DMA, "scsi%d : polled DMA transfer complete, basr 0x%X, sr 0x%X\n", instance->host_… in NCR5380_transfer_dma()
1858 residue = NCR5380_dma_residual(instance); in NCR5380_transfer_dma()
1877 NCR5380_transfer_pio(instance, phase, &cnt, data); in NCR5380_transfer_dma()
1890 foo = NCR5380_pread(instance, d, c); in NCR5380_transfer_dma()
1896 if (!(foo = NCR5380_pread(instance, d, c - diff))) { in NCR5380_transfer_dma()
1929 foo = NCR5380_pwrite(instance, d, c); in NCR5380_transfer_dma()
1933 if (!(foo = NCR5380_pwrite(instance, d, c))) { in NCR5380_transfer_dma()
1943 dprintk(NDEBUG_LAST_BYTE_SENT, "scsi%d : timed out on last byte\n", instance->host_no); in NCR5380_transfer_dma()
1949 dprintk(NDEBUG_LAST_BYTE_SENT, "scsi%d : last byte sent works\n", instance->host_no); in NCR5380_transfer_dma()
1976 spin_lock_irq(instance->host_lock); in NCR5380_transfer_dma()
2002 static void NCR5380_information_transfer(struct Scsi_Host *instance) { argument
2004 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *)instance->hostdata;
2017 NCR5380_setup(instance);
2026 NCR5380_dprint_phase(NDEBUG_INFORMATION, instance);
2041 printk("scsi%d : NDEBUG_NO_DATAOUT set, attempted DATAOUT aborted\n", instance->host_no);
2043 do_abort(instance);
2058 …dprintk(NDEBUG_INFORMATION, "scsi%d : %d bytes and %d buffers left\n", instance->host_no, cmd->SCp…
2079 …stdata->flags & FLAG_NO_PSEUDO_DMA) && (transfersize = NCR5380_dma_xfer_len(instance, cmd)) != 0) {
2095 if (NCR5380_transfer_dma(instance, &phase, &len, (unsigned char **) &cmd->SCp.ptr)) {
2105 do_abort(instance);
2113 NCR5380_transfer_pio(instance, &phase, (int *) &cmd->SCp.this_residual, (unsigned char **)
2119 NCR5380_transfer_pio(instance, &phase, &len, &data);
2138 …dprintk(NDEBUG_LINKED, "scsi%d : target %d lun %llu linked command complete.\n", instance->host_no…
2145 …printk("scsi%d : target %d lun %llu linked command complete, no next_link\n" instance->host_no, cm…
2147 do_abort(instance);
2154 …si%d : target %d lun %llu linked request done, calling scsi_done().\n", instance->host_no, cmd->de…
2165 …dprintk(NDEBUG_QUEUES, "scsi%d : command for target %d, lun %llu completed\n", instance->host_no, …
2198 dprintk(NDEBUG_AUTOSENSE, "scsi%d : performing request sense\n", instance->host_no);
2204 …dprintk(NDEBUG_QUEUES, "scsi%d : REQUEST SENSE added to head of issue queue\n", instance->host_no);
2241 … %d lun %llu was moved from connected to" " the disconnected_queue\n", instance->host_no, cmd->de…
2287 dprintk(NDEBUG_EXTENDED, "scsi%d : receiving extended message\n", instance->host_no);
2292 NCR5380_transfer_pio(instance, &phase, &len, &data);
2294 …dprintk(NDEBUG_EXTENDED, "scsi%d : length=%d, code=0x%02x\n", instance->host_no, (int) extended_ms…
2303 NCR5380_transfer_pio(instance, &phase, &len, &data);
2304 dprintk(NDEBUG_EXTENDED, "scsi%d : message received, residual %d\n", instance->host_no, len);
2314 printk("scsi%d: error receiving extended message\n", instance->host_no);
2317 …printk("scsi%d: extended message code %02x length %d is too long\n", instance->host_no, extended_m…
2328 printk("scsi%d: rejecting message ", instance->host_no);
2347 NCR5380_transfer_pio(instance, &phase, &len, &data);
2366 NCR5380_transfer_pio(instance, &phase, &len, &data);
2369 …dprintk(NDEBUG_USLEEP, "scsi%d : issued command, sleeping until %lu\n", instance->host_no, hostdat…
2376 NCR5380_transfer_pio(instance, &phase, &len, &data);
2380 printk("scsi%d : unknown phase\n", instance->host_no);
2381 NCR5380_dprint(NDEBUG_ANY, instance);
2389 …dprintk(NDEBUG_USLEEP, "scsi%d : poll timed out, sleeping until %lu\n", instance->host_no, hostdat…
2408 static void NCR5380_reselect(struct Scsi_Host *instance) { argument
2411 instance->hostdata;
2419 NCR5380_setup(instance);
2430 dprintk(NDEBUG_SELECTION, "scsi%d : reselect\n", instance->host_no);
2444 if(NCR5380_poll_politely(instance, STATUS_REG, SR_SEL, 0, 2*HZ)<0)
2454 if(NCR5380_poll_politely(instance, STATUS_REG, SR_REQ, SR_REQ, 2*HZ))
2460 NCR5380_transfer_pio(instance, &phase, &len, &data);
2463 printk(KERN_ERR "scsi%d : expecting IDENTIFY message, got ", instance->host_no);
2497 …i%d : warning : target bitmask %02x lun %d not in disconnect_queue.\n", instance->host_no, target_…
2507 do_abort(instance);
2510 …ION, "scsi%d : nexus established, target = %d, lun = %llu, tag = %d\n", instance->host_no, tmp->de…
2527 static void NCR5380_dma_complete(NCR5380_instance * instance) { argument
2529 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;
2531 NCR5380_setup(instance);
2544 NCR5380_poll_politely(instance, BUS_AND_STATUS_REG, BASR_ACK, 0, 5*HZ);
2556 transferred = instance->dmalen - NCR5380_dma_residual();
2585 struct Scsi_Host *instance = cmd->device->host; local
2586 struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;
2591 NCR5380_print_status(instance);
2593 NCR5380_setup(instance);
2595 dprintk(NDEBUG_ABORT, "scsi%d : abort called\n", instance->host_no);
2606 dprintk(NDEBUG_ABORT, "scsi%d : aborting connected command\n", instance->host_no);
2634 dprintk(NDEBUG_ABORT, "scsi%d : abort going into loop.\n", instance->host_no);
2641 dprintk(NDEBUG_ABORT, "scsi%d : abort removed command from issue queue.\n", instance->host_no);
2648 printk(KERN_ERR "scsi%d : LOOP\n", instance->host_no);
2663 dprintk(NDEBUG_ABORT, "scsi%d : abort failed, command connected.\n", instance->host_no);
2693 dprintk(NDEBUG_ABORT, "scsi%d : aborting disconnected command.\n", instance->host_no);
2695 if (NCR5380_select(instance, cmd))
2697 dprintk(NDEBUG_ABORT, "scsi%d : nexus reestablished.\n", instance->host_no);
2699 do_abort(instance);
2721 " before abortion\n", instance->host_no);
2738 struct Scsi_Host *instance = cmd->device->host; local
2741 NCR5380_setup(instance);
2742 NCR5380_print_status(instance);
2744 spin_lock_irq(instance->host_lock);
2745 do_reset(instance);
2746 spin_unlock_irq(instance->host_lock);