• Home
  • Raw
  • Download

Lines Matching full:instance

76  * the command structure is placed into the per instance disconnected
116 * The generic driver is initialized by calling NCR5380_init(instance),
270 * @instance: adapter state to dump
275 static void NCR5380_print(struct Scsi_Host *instance) in NCR5380_print() argument
277 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_print()
320 * @instance: adapter to dump
325 static void NCR5380_print_phase(struct Scsi_Host *instance) in NCR5380_print_phase() argument
327 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_print_phase()
333 shost_printk(KERN_DEBUG, instance, "REQ not asserted, phase unknown.\n"); in NCR5380_print_phase()
338 shost_printk(KERN_DEBUG, instance, "phase %s\n", phases[i].name); in NCR5380_print_phase()
345 * @instance: relevant scsi host instance
350 static const char *NCR5380_info(struct Scsi_Host *instance) in NCR5380_info() argument
352 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_info()
359 * @instance: adapter to configure
362 * Initializes *instance and corresponding 5380 chip,
371 static int NCR5380_init(struct Scsi_Host *instance, int flags) in NCR5380_init() argument
373 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_init()
378 instance->max_lun = 7; in NCR5380_init()
380 hostdata->host = instance; in NCR5380_init()
381 hostdata->id_mask = 1 << instance->this_id; in NCR5380_init()
402 1, instance->host_no); in NCR5380_init()
408 instance->hostt->name, instance->irq, hostdata->io_port, in NCR5380_init()
409 hostdata->base, instance->can_queue, instance->cmd_per_lun, in NCR5380_init()
410 instance->sg_tablesize, instance->this_id, in NCR5380_init()
440 * @instance: adapter to check
452 static int NCR5380_maybe_reset_bus(struct Scsi_Host *instance) in NCR5380_maybe_reset_bus() argument
454 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_maybe_reset_bus()
462 shost_printk(KERN_ERR, instance, "SCSI bus busy, waiting up to five seconds\n"); in NCR5380_maybe_reset_bus()
467 shost_printk(KERN_ERR, instance, "bus busy, attempting abort\n"); in NCR5380_maybe_reset_bus()
468 do_abort(instance); in NCR5380_maybe_reset_bus()
471 shost_printk(KERN_ERR, instance, "bus busy, attempting reset\n"); in NCR5380_maybe_reset_bus()
472 do_reset(instance); in NCR5380_maybe_reset_bus()
483 shost_printk(KERN_ERR, instance, "bus locked solid\n"); in NCR5380_maybe_reset_bus()
492 * @instance: adapter to remove
497 static void NCR5380_exit(struct Scsi_Host *instance) in NCR5380_exit() argument
499 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_exit()
507 * @instance: the host instance
511 static void complete_cmd(struct Scsi_Host *instance, in complete_cmd() argument
514 struct NCR5380_hostdata *hostdata = shost_priv(instance); in complete_cmd()
516 dsprintk(NDEBUG_QUEUES, instance, "complete_cmd: cmd %p\n", cmd); in complete_cmd()
534 * @instance: the relevant SCSI adapter
537 * cmd is added to the per-instance issue queue, with minor
542 static int NCR5380_queue_command(struct Scsi_Host *instance, in NCR5380_queue_command() argument
545 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_queue_command()
553 shost_printk(KERN_DEBUG, instance, "WRITE attempted with NDEBUG_NO_WRITE set\n"); in NCR5380_queue_command()
562 if (!NCR5380_acquire_dma_irq(instance)) in NCR5380_queue_command()
581 dsprintk(NDEBUG_QUEUES, instance, "command %p added to %s of queue\n", in NCR5380_queue_command()
589 static inline void maybe_release_dma_irq(struct Scsi_Host *instance) in maybe_release_dma_irq() argument
591 struct NCR5380_hostdata *hostdata = shost_priv(instance); in maybe_release_dma_irq()
599 NCR5380_release_dma_irq(instance); in maybe_release_dma_irq()
605 * @instance: the scsi host instance
614 static struct scsi_cmnd *dequeue_next_cmd(struct Scsi_Host *instance) in dequeue_next_cmd() argument
616 struct NCR5380_hostdata *hostdata = shost_priv(instance); in dequeue_next_cmd()
623 dsprintk(NDEBUG_QUEUES, instance, "dequeue: cmd=%p target=%d busy=0x%02x lun=%llu\n", in dequeue_next_cmd()
628 dsprintk(NDEBUG_QUEUES, instance, in dequeue_next_cmd()
639 dsprintk(NDEBUG_QUEUES, instance, in dequeue_next_cmd()
648 static void requeue_cmd(struct Scsi_Host *instance, struct scsi_cmnd *cmd) in requeue_cmd() argument
650 struct NCR5380_hostdata *hostdata = shost_priv(instance); in requeue_cmd()
674 struct Scsi_Host *instance = hostdata->host; in NCR5380_main() local
682 struct scsi_cmnd *cmd = dequeue_next_cmd(instance); in NCR5380_main()
687 dsprintk(NDEBUG_MAIN, instance, "main: dequeued %p\n", cmd); in NCR5380_main()
691 * On success, instance->hostdata->connected is set. in NCR5380_main()
702 if (!NCR5380_select(instance, cmd)) { in NCR5380_main()
703 dsprintk(NDEBUG_MAIN, instance, "main: select complete\n"); in NCR5380_main()
704 maybe_release_dma_irq(instance); in NCR5380_main()
706 dsprintk(NDEBUG_MAIN | NDEBUG_QUEUES, instance, in NCR5380_main()
708 requeue_cmd(instance, cmd); in NCR5380_main()
712 dsprintk(NDEBUG_MAIN, instance, "main: performing information transfer\n"); in NCR5380_main()
713 NCR5380_information_transfer(instance); in NCR5380_main()
726 * @instance: the scsi host instance
732 static void NCR5380_dma_complete(struct Scsi_Host *instance) in NCR5380_dma_complete() argument
734 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_dma_complete()
750 dsprintk(NDEBUG_DMA, instance, "read overrun handled\n"); in NCR5380_dma_complete()
758 instance->host_no); in NCR5380_dma_complete()
764 pr_err("scsi%d: BASR %02x\n", instance->host_no, in NCR5380_dma_complete()
767 instance->host_no); in NCR5380_dma_complete()
790 dsprintk(NDEBUG_DMA, instance, in NCR5380_dma_complete()
798 dsprintk(NDEBUG_DMA, instance, in NCR5380_dma_complete()
800 NCR5380_transfer_pio(instance, &p, &cnt, data); in NCR5380_dma_complete()
843 struct Scsi_Host *instance = dev_id; in NCR5380_intr() local
844 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_intr()
856 dsprintk(NDEBUG_INTR, instance, "IRQ %d, BASR 0x%02x, SR 0x%02x, MR 0x%02x\n", in NCR5380_intr()
865 dsprintk(NDEBUG_INTR, instance, "interrupt in DMA mode\n"); in NCR5380_intr()
868 NCR5380_dma_complete(instance); in NCR5380_intr()
880 dsprintk(NDEBUG_INTR, instance, "interrupt with SEL and IO\n"); in NCR5380_intr()
883 NCR5380_reselect(instance); in NCR5380_intr()
894 shost_printk(KERN_WARNING, instance, in NCR5380_intr()
896 bus_reset_cleanup(instance); in NCR5380_intr()
898 dsprintk(NDEBUG_INTR, instance, "unknown interrupt\n"); in NCR5380_intr()
906 dsprintk(NDEBUG_INTR, instance, "interrupt without IRQ bit\n"); in NCR5380_intr()
919 * @instance: the Scsi_Host instance
942 static bool NCR5380_select(struct Scsi_Host *instance, struct scsi_cmnd *cmd) in NCR5380_select() argument
945 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_select()
951 bool can_disconnect = instance->irq != NO_IRQ && in NCR5380_select()
955 NCR5380_dprint(NDEBUG_ARBITRATION, instance); in NCR5380_select()
956 dsprintk(NDEBUG_ARBITRATION, instance, "starting arbitration, id = %d\n", in NCR5380_select()
957 instance->this_id); in NCR5380_select()
1002 shost_printk(KERN_ERR, instance, in NCR5380_select()
1016 dsprintk(NDEBUG_ARBITRATION, instance, "lost arbitration, deasserting MR_ARBITRATE\n"); in NCR5380_select()
1050 dsprintk(NDEBUG_ARBITRATION, instance, "won arbitration\n"); in NCR5380_select()
1106 dsprintk(NDEBUG_SELECTION, instance, "selecting target %d\n", scmd_id(cmd)); in NCR5380_select()
1119 NCR5380_reselect(instance); in NCR5380_select()
1120 shost_printk(KERN_ERR, instance, "reselection after won arbitration?\n"); in NCR5380_select()
1133 complete_cmd(instance, cmd); in NCR5380_select()
1134 dsprintk(NDEBUG_SELECTION, instance, in NCR5380_select()
1162 shost_printk(KERN_ERR, instance, "select: REQ timeout\n"); in NCR5380_select()
1167 do_abort(instance); in NCR5380_select()
1171 dsprintk(NDEBUG_SELECTION, instance, "target %d selected, going into MESSAGE OUT phase.\n", in NCR5380_select()
1178 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_select()
1182 complete_cmd(instance, cmd); in NCR5380_select()
1183 dsprintk(NDEBUG_SELECTION, instance, "IDENTIFY message transfer failed\n"); in NCR5380_select()
1188 dsprintk(NDEBUG_SELECTION, instance, "nexus established.\n"); in NCR5380_select()
1209 * Function : int NCR5380_transfer_pio (struct Scsi_Host *instance,
1214 * Inputs : instance - instance of driver, *phase - pointer to
1233 static int NCR5380_transfer_pio(struct Scsi_Host *instance, in NCR5380_transfer_pio() argument
1237 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_transfer_pio()
1259 dsprintk(NDEBUG_HANDSHAKE, instance, "REQ asserted\n"); in NCR5380_transfer_pio()
1263 dsprintk(NDEBUG_PIO, instance, "phase mismatch\n"); in NCR5380_transfer_pio()
1264 NCR5380_dprint_phase(NDEBUG_PIO, instance); in NCR5380_transfer_pio()
1286 NCR5380_dprint(NDEBUG_PIO, instance); in NCR5380_transfer_pio()
1292 NCR5380_dprint(NDEBUG_PIO, instance); in NCR5380_transfer_pio()
1297 NCR5380_dprint(NDEBUG_PIO, instance); in NCR5380_transfer_pio()
1305 dsprintk(NDEBUG_HANDSHAKE, instance, "REQ negated, handshake complete\n"); in NCR5380_transfer_pio()
1326 dsprintk(NDEBUG_PIO, instance, "residual %d\n", c); in NCR5380_transfer_pio()
1348 * @instance: adapter to reset
1358 static void do_reset(struct Scsi_Host *instance) in do_reset() argument
1360 struct NCR5380_hostdata __maybe_unused *hostdata = shost_priv(instance); in do_reset()
1376 * @instance: relevant scsi host instance
1381 static int do_abort(struct Scsi_Host *instance) in do_abort() argument
1383 struct NCR5380_hostdata *hostdata = shost_priv(instance); in do_abort()
1422 NCR5380_transfer_pio(instance, &phase, &len, &msgptr); in do_abort()
1437 * Function : int NCR5380_transfer_dma (struct Scsi_Host *instance,
1443 * Inputs : instance - instance of driver, *phase - pointer to
1455 static int NCR5380_transfer_dma(struct Scsi_Host *instance, in NCR5380_transfer_dma() argument
1459 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_transfer_dma()
1480 dsprintk(NDEBUG_DMA, instance, "initializing DMA %s: length %d, address %p\n", in NCR5380_transfer_dma()
1603 shost_printk(KERN_ERR, instance, "PDMA read: DRQ timeout\n"); in NCR5380_transfer_dma()
1608 shost_printk(KERN_ERR, instance, "PDMA read: !REQ timeout\n"); in NCR5380_transfer_dma()
1620 shost_printk(KERN_ERR, instance, "PDMA write: DRQ and phase timeout\n"); in NCR5380_transfer_dma()
1625 NCR5380_dma_complete(instance); in NCR5380_transfer_dma()
1630 * Function : NCR5380_information_transfer (struct Scsi_Host *instance)
1634 * instance->connected.
1636 * Inputs : instance, instance for which we are doing commands
1639 * modified if a command disconnects, *instance->connected will
1646 static void NCR5380_information_transfer(struct Scsi_Host *instance) in NCR5380_information_transfer() argument
1649 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_information_transfer()
1671 NCR5380_dprint_phase(NDEBUG_INFORMATION, instance); in NCR5380_information_transfer()
1718 shost_printk(KERN_DEBUG, instance, "NDEBUG_NO_DATAOUT set, attempted DATAOUT aborted\n"); in NCR5380_information_transfer()
1720 do_abort(instance); in NCR5380_information_transfer()
1722 complete_cmd(instance, cmd); in NCR5380_information_transfer()
1738 dsprintk(NDEBUG_INFORMATION, instance, "%d bytes and %d buffers left\n", in NCR5380_information_transfer()
1759 if (NCR5380_transfer_dma(instance, &phase, in NCR5380_information_transfer()
1770 do_abort(instance); in NCR5380_information_transfer()
1781 NCR5380_transfer_pio(instance, &phase, &len, in NCR5380_information_transfer()
1793 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_information_transfer()
1802 dsprintk(NDEBUG_QUEUES, instance, in NCR5380_information_transfer()
1814 complete_cmd(instance, cmd); in NCR5380_information_transfer()
1818 dsprintk(NDEBUG_QUEUES, instance, "autosense: adding cmd %p to tail of autosense queue\n", in NCR5380_information_transfer()
1823 complete_cmd(instance, cmd); in NCR5380_information_transfer()
1832 maybe_release_dma_irq(instance); in NCR5380_information_transfer()
1854 instance, "connected command %p for target %d lun %llu moved to disconnected queue\n", in NCR5380_information_transfer()
1893 dsprintk(NDEBUG_EXTENDED, instance, "receiving extended message\n"); in NCR5380_information_transfer()
1898 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_information_transfer()
1899 dsprintk(NDEBUG_EXTENDED, instance, "length %d, code 0x%02x\n", in NCR5380_information_transfer()
1911 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_information_transfer()
1912 dsprintk(NDEBUG_EXTENDED, instance, "message received, residual %d\n", in NCR5380_information_transfer()
1921 shost_printk(KERN_ERR, instance, "error receiving extended message\n"); in NCR5380_information_transfer()
1924 shost_printk(KERN_NOTICE, instance, "extended message code %02x length %d is too long\n", in NCR5380_information_transfer()
1958 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_information_transfer()
1963 complete_cmd(instance, cmd); in NCR5380_information_transfer()
1964 maybe_release_dma_irq(instance); in NCR5380_information_transfer()
1977 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_information_transfer()
1982 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_information_transfer()
1986 shost_printk(KERN_ERR, instance, "unknown phase\n"); in NCR5380_information_transfer()
1987 NCR5380_dprint(NDEBUG_ANY, instance); in NCR5380_information_transfer()
1998 * Function : void NCR5380_reselect (struct Scsi_Host *instance)
2000 * Purpose : does reselection, initializing the instance->connected
2004 * Inputs : instance - this instance of the NCR5380.
2007 static void NCR5380_reselect(struct Scsi_Host *instance) in NCR5380_reselect() argument
2009 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_reselect()
2025 shost_printk(KERN_WARNING, instance, in NCR5380_reselect()
2042 shost_printk(KERN_ERR, instance, "reselect: !SEL timeout\n"); in NCR5380_reselect()
2057 shost_printk(KERN_ERR, instance, "reselect: REQ timeout\n"); in NCR5380_reselect()
2058 do_abort(instance); in NCR5380_reselect()
2074 NCR5380_transfer_pio(instance, &phase, &len, &data); in NCR5380_reselect()
2077 do_abort(instance); in NCR5380_reselect()
2084 shost_printk(KERN_ERR, instance, "expecting IDENTIFY message, got "); in NCR5380_reselect()
2087 do_abort(instance); in NCR5380_reselect()
2116 dsprintk(NDEBUG_RESELECTION | NDEBUG_QUEUES, instance, in NCR5380_reselect()
2121 shost_printk(KERN_ERR, instance, "target bitmask 0x%02x lun %d not in disconnected queue.\n", in NCR5380_reselect()
2127 if (do_abort(instance) == 0) in NCR5380_reselect()
2163 dsprintk(NDEBUG_RESELECTION, instance, "nexus established, target %d, lun %llu\n", in NCR5380_reselect()
2233 struct Scsi_Host *instance = cmd->device->host; in NCR5380_abort() local
2234 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_abort()
2243 NCR5380_dprint(NDEBUG_ANY, instance); in NCR5380_abort()
2244 NCR5380_dprint_phase(NDEBUG_ANY, instance); in NCR5380_abort()
2247 dsprintk(NDEBUG_ABORT, instance, in NCR5380_abort()
2255 dsprintk(NDEBUG_ABORT, instance, in NCR5380_abort()
2259 complete_cmd(instance, cmd); in NCR5380_abort()
2264 dsprintk(NDEBUG_ABORT, instance, in NCR5380_abort()
2270 complete_cmd(instance, cmd); in NCR5380_abort()
2276 dsprintk(NDEBUG_ABORT, instance, "abort: cmd %p is connected\n", cmd); in NCR5380_abort()
2279 if (do_abort(instance)) { in NCR5380_abort()
2281 complete_cmd(instance, cmd); in NCR5380_abort()
2286 complete_cmd(instance, cmd); in NCR5380_abort()
2291 dsprintk(NDEBUG_ABORT, instance, in NCR5380_abort()
2293 complete_cmd(instance, cmd); in NCR5380_abort()
2298 dsprintk(NDEBUG_ABORT, instance, "abort: failed to abort %p\n", cmd); in NCR5380_abort()
2301 dsprintk(NDEBUG_ABORT, instance, "abort: successfully aborted %p\n", cmd); in NCR5380_abort()
2305 maybe_release_dma_irq(instance); in NCR5380_abort()
2312 static void bus_reset_cleanup(struct Scsi_Host *instance) in bus_reset_cleanup() argument
2314 struct NCR5380_hostdata *hostdata = shost_priv(instance); in bus_reset_cleanup()
2331 complete_cmd(instance, hostdata->selecting); in bus_reset_cleanup()
2339 complete_cmd(instance, cmd); in bus_reset_cleanup()
2352 complete_cmd(instance, hostdata->connected); in bus_reset_cleanup()
2361 maybe_release_dma_irq(instance); in bus_reset_cleanup()
2373 struct Scsi_Host *instance = cmd->device->host; in NCR5380_host_reset() local
2374 struct NCR5380_hostdata *hostdata = shost_priv(instance); in NCR5380_host_reset()
2381 shost_printk(KERN_INFO, instance, __func__); in NCR5380_host_reset()
2383 NCR5380_dprint(NDEBUG_ANY, instance); in NCR5380_host_reset()
2384 NCR5380_dprint_phase(NDEBUG_ANY, instance); in NCR5380_host_reset()
2394 do_reset(instance); in NCR5380_host_reset()
2395 bus_reset_cleanup(instance); in NCR5380_host_reset()