tag | line | file | source code |
instance | 1197 | drivers/scsi/53c7,8xx.c | struct Scsi_Host *instance; |
instance | 1279 | drivers/scsi/53c7,8xx.c | instance = scsi_register (tpnt, size); |
instance | 1280 | drivers/scsi/53c7,8xx.c | if (!instance) |
instance | 1288 | drivers/scsi/53c7,8xx.c | instance->hostdata; |
instance | 1291 | drivers/scsi/53c7,8xx.c | hostdata = (struct NCR53c7x0_hostdata *) instance->hostdata; |
instance | 1314 | drivers/scsi/53c7,8xx.c | instance->base = (unsigned char *) (unsigned long) base; |
instance | 1325 | drivers/scsi/53c7,8xx.c | instance->io_port = io_port; |
instance | 1334 | drivers/scsi/53c7,8xx.c | instance->host_no); |
instance | 1335 | drivers/scsi/53c7,8xx.c | scsi_unregister (instance); |
instance | 1338 | drivers/scsi/53c7,8xx.c | instance->irq = irq; |
instance | 1339 | drivers/scsi/53c7,8xx.c | instance->dma_channel = dma; |
instance | 1381 | drivers/scsi/53c7,8xx.c | return NCR53c7x0_init(instance); |
instance | 3083 | drivers/scsi/53c7,8xx.c | instance->hostdata; |
instance | 3088 | drivers/scsi/53c7,8xx.c | for (bp = (struct NCR53c7x0_break *) instance->breakpoints, |
instance | 3089 | drivers/scsi/53c7,8xx.c | prev = (struct NCR53c7x0_break **) &instance->breakpoints; |
instance | 3268 | drivers/scsi/53c7,8xx.c | struct Scsi_Host *instance; |
instance | 121 | drivers/scsi/AM53C974.c | static void AM53C974_print_pci(struct Scsi_Host *instance); |
instance | 122 | drivers/scsi/AM53C974.c | static void AM53C974_print_phase(struct Scsi_Host *instance); |
instance | 123 | drivers/scsi/AM53C974.c | static void AM53C974_print_queues(struct Scsi_Host *instance); |
instance | 125 | drivers/scsi/AM53C974.c | static void AM53C974_print(struct Scsi_Host *instance); |
instance | 130 | drivers/scsi/AM53C974.c | static void AM53C974_config_after_reset(struct Scsi_Host *instance); |
instance | 135 | drivers/scsi/AM53C974.c | static void AM53C974_intr_disconnect(struct Scsi_Host *instance); |
instance | 136 | drivers/scsi/AM53C974.c | static int AM53C974_sync_neg(struct Scsi_Host *instance, int target, unsigned char *msg); |
instance | 137 | drivers/scsi/AM53C974.c | static __inline__ void AM53C974_set_async(struct Scsi_Host *instance, int target); |
instance | 138 | drivers/scsi/AM53C974.c | static __inline__ void AM53C974_set_sync(struct Scsi_Host *instance, int target); |
instance | 139 | drivers/scsi/AM53C974.c | static void AM53C974_information_transfer(struct Scsi_Host *instance, |
instance | 143 | drivers/scsi/AM53C974.c | static int AM53C974_message(struct Scsi_Host *instance, Scsi_Cmnd *cmd, unsigned char msg); |
instance | 144 | drivers/scsi/AM53C974.c | static void AM53C974_select(struct Scsi_Host *instance, Scsi_Cmnd *cmd, int tag); |
instance | 145 | drivers/scsi/AM53C974.c | static void AM53C974_intr_reselect(struct Scsi_Host *instance, unsigned char statreg); |
instance | 146 | drivers/scsi/AM53C974.c | static __inline__ void AM53C974_transfer_dma(struct Scsi_Host *instance, short dir, |
instance | 148 | drivers/scsi/AM53C974.c | static void AM53C974_dma_blast(struct Scsi_Host *instance, unsigned char dmastatus, |
instance | 150 | drivers/scsi/AM53C974.c | static void AM53C974_intr_bus_reset(struct Scsi_Host *instance); |
instance | 169 | drivers/scsi/AM53C974.c | static void AM53C974_print_pci(struct Scsi_Host *instance) |
instance | 178 | drivers/scsi/AM53C974.c | for (i = 0; i < 8; i++) *(scratch + i) = AM53C974_PCIREG_READ_WORD(instance, PCI_SCRATCH_REG_0 + 2*i); |
instance | 179 | drivers/scsi/AM53C974.c | vendor_id = AM53C974_PCIREG_READ_WORD(instance, PCI_VENDOR_ID); |
instance | 180 | drivers/scsi/AM53C974.c | device_id = AM53C974_PCIREG_READ_WORD(instance, PCI_DEVICE_ID); |
instance | 181 | drivers/scsi/AM53C974.c | command = AM53C974_PCIREG_READ_WORD(instance, PCI_COMMAND); |
instance | 182 | drivers/scsi/AM53C974.c | status = AM53C974_PCIREG_READ_WORD(instance, PCI_STATUS); |
instance | 183 | drivers/scsi/AM53C974.c | class_revision = AM53C974_PCIREG_READ_DWORD(instance, PCI_CLASS_REVISION); |
instance | 184 | drivers/scsi/AM53C974.c | cache_line_size = AM53C974_PCIREG_READ_BYTE(instance, PCI_CACHE_LINE_SIZE); |
instance | 185 | drivers/scsi/AM53C974.c | latency_timer = AM53C974_PCIREG_READ_BYTE(instance, PCI_LATENCY_TIMER); |
instance | 186 | drivers/scsi/AM53C974.c | header_type = AM53C974_PCIREG_READ_BYTE(instance, PCI_HEADER_TYPE); |
instance | 187 | drivers/scsi/AM53C974.c | base = AM53C974_PCIREG_READ_DWORD(instance, PCI_BASE_ADDRESS_0); |
instance | 188 | drivers/scsi/AM53C974.c | irq = AM53C974_PCIREG_READ_BYTE(instance, PCI_INTERRUPT_LINE); |
instance | 223 | drivers/scsi/AM53C974.c | static void AM53C974_print_phase(struct Scsi_Host *instance) |
instance | 228 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 235 | drivers/scsi/AM53C974.c | printk("scsi%d : phase %s, latched at end of last command\n", instance->host_no, phases[i].name); |
instance | 237 | drivers/scsi/AM53C974.c | printk("scsi%d : phase %s, real time\n", instance->host_no, phases[i].name); |
instance | 247 | drivers/scsi/AM53C974.c | static void AM53C974_print_queues(struct Scsi_Host *instance) |
instance | 249 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 257 | drivers/scsi/AM53C974.c | printk ("scsi%d: no currently connected command\n", instance->host_no); } |
instance | 261 | drivers/scsi/AM53C974.c | printk ("scsi%d: no currently arbitrating command\n", instance->host_no); } |
instance | 265 | drivers/scsi/AM53C974.c | printk ("scsi%d: issue_queue ", instance->host_no); |
instance | 273 | drivers/scsi/AM53C974.c | printk ("scsi%d: disconnected_queue ", instance->host_no); |
instance | 293 | drivers/scsi/AM53C974.c | static void AM53C974_print(struct Scsi_Host *instance) |
instance | 298 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 594 | drivers/scsi/AM53C974.c | struct Scsi_Host *instance, *search; |
instance | 602 | drivers/scsi/AM53C974.c | instance = scsi_register(tpnt, sizeof(struct AM53C974_hostdata)); |
instance | 603 | drivers/scsi/AM53C974.c | hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 604 | drivers/scsi/AM53C974.c | instance->base = NULL; |
instance | 605 | drivers/scsi/AM53C974.c | instance->io_port = pci_config._base0 & (pci_config._base0 & 0x1 ? |
instance | 607 | drivers/scsi/AM53C974.c | instance->irq = pci_config._int_line; |
instance | 608 | drivers/scsi/AM53C974.c | instance->dma_channel = -1; |
instance | 609 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 612 | drivers/scsi/AM53C974.c | instance->this_id = AM53C974_SCSI_ID; |
instance | 613 | drivers/scsi/AM53C974.c | AM53C974_write_8(CNTLREG1, instance->this_id & CNTLREG1_SID); |
instance | 615 | drivers/scsi/AM53C974.c | instance->this_id = AM53C974_read_8(CNTLREG1) & CNTLREG1_SID; |
instance | 616 | drivers/scsi/AM53C974.c | if (instance->this_id != 7) |
instance | 618 | drivers/scsi/AM53C974.c | instance->host_no, instance->this_id); |
instance | 635 | drivers/scsi/AM53C974.c | if (overrides[i].host_scsi_id == instance->this_id) { |
instance | 656 | drivers/scsi/AM53C974.c | (search->irq != instance->irq) || (search == instance) ); |
instance | 659 | drivers/scsi/AM53C974.c | if (request_irq(instance->irq, AM53C974_intr, SA_INTERRUPT, "AM53C974", NULL)) { |
instance | 660 | drivers/scsi/AM53C974.c | printk("scsi%d: IRQ%d not free, detaching\n", instance->host_no, instance->irq); |
instance | 661 | drivers/scsi/AM53C974.c | scsi_unregister(instance); |
instance | 666 | drivers/scsi/AM53C974.c | instance->host_no, search->host_no); } |
instance | 669 | drivers/scsi/AM53C974.c | the_template = instance->hostt; |
instance | 670 | drivers/scsi/AM53C974.c | first_instance = instance; } |
instance | 676 | drivers/scsi/AM53C974.c | AM53C974_write_8(CNTLREG1, CNTLREG1_DISR | instance->this_id); |
instance | 679 | drivers/scsi/AM53C974.c | AM53C974_config_after_reset(instance); |
instance | 693 | drivers/scsi/AM53C974.c | static void AM53C974_config_after_reset(struct Scsi_Host *instance) |
instance | 696 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 706 | drivers/scsi/AM53C974.c | AM53C974_write_8(CNTLREG1, (DEF_ETM<<7) | CNTLREG1_DISR | (DEF_PERE<<4) | instance->this_id); |
instance | 721 | drivers/scsi/AM53C974.c | const char *AM53C974_info(struct Scsi_Host *instance) |
instance | 727 | drivers/scsi/AM53C974.c | instance->io_port, instance->irq); |
instance | 814 | drivers/scsi/AM53C974.c | struct Scsi_Host *instance = cmd->host; |
instance | 815 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 820 | drivers/scsi/AM53C974.c | DEB_QUEUE(printk("scsi%d: AM53C974_queue_command called\n", instance->host_no)); |
instance | 844 | drivers/scsi/AM53C974.c | DEB_QUEUE(printk("scsi%d : command added to %s of queue\n", instance->host_no, |
instance | 867 | drivers/scsi/AM53C974.c | struct Scsi_Host *instance; |
instance | 878 | drivers/scsi/AM53C974.c | for (instance = first_instance; instance && instance->hostt == the_template; |
instance | 879 | drivers/scsi/AM53C974.c | instance = instance->next) { |
instance | 880 | drivers/scsi/AM53C974.c | hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 881 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 931 | drivers/scsi/AM53C974.c | struct Scsi_Host *instance; |
instance | 936 | drivers/scsi/AM53C974.c | for (instance = first_instance; instance; instance = instance->next) |
instance | 937 | drivers/scsi/AM53C974.c | if ((instance->irq == irq) && (instance->hostt == the_template)) goto FOUND; |
instance | 943 | drivers/scsi/AM53C974.c | hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 944 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 956 | drivers/scsi/AM53C974.c | instance->host_no, dmastatus); |
instance | 960 | drivers/scsi/AM53C974.c | panic("scsi%d: cannot recover\n", instance->host_no); } |
instance | 992 | drivers/scsi/AM53C974.c | AM53C974_information_transfer(instance, statreg, isreg, instreg, cfifo, |
instance | 1009 | drivers/scsi/AM53C974.c | instance->host_no, statreg, isreg, instreg, cfifo)); |
instance | 1016 | drivers/scsi/AM53C974.c | printk("scsi%d : PARITY error\n", instance->host_no); |
instance | 1025 | drivers/scsi/AM53C974.c | printk("scsi%d : ILLEGAL OPERATION error\n", instance->host_no); |
instance | 1035 | drivers/scsi/AM53C974.c | AM53C974_intr_bus_reset(instance); |
instance | 1057 | drivers/scsi/AM53C974.c | printk("scsi%d: Invalid command interrupt\n", instance->host_no); |
instance | 1061 | drivers/scsi/AM53C974.c | panic("scsi%d: cannot recover\n", instance->host_no); } |
instance | 1067 | drivers/scsi/AM53C974.c | AM53C974_intr_disconnect(instance); |
instance | 1075 | drivers/scsi/AM53C974.c | AM53C974_intr_reselect(instance, statreg); |
instance | 1084 | drivers/scsi/AM53C974.c | AM53C974_select(instance, (Scsi_Cmnd *)hostdata->sel_cmd, |
instance | 1088 | drivers/scsi/AM53C974.c | AM53C974_set_sync(instance, hostdata->sel_cmd->target); |
instance | 1121 | drivers/scsi/AM53C974.c | DEB(printk("scsi%d: REQUEST_SENSE command with nonzero use_sg\n", instance->host_no)); |
instance | 1126 | drivers/scsi/AM53C974.c | AM53C974_information_transfer(instance, statreg, isreg, instreg, cfifo, dmastatus); |
instance | 1132 | drivers/scsi/AM53C974.c | AM53C974_information_transfer(instance, statreg, isreg, instreg, cfifo, dmastatus); |
instance | 1142 | drivers/scsi/AM53C974.c | AM53C974_information_transfer(instance, statreg, isreg, instreg, cfifo, dmastatus); |
instance | 1145 | drivers/scsi/AM53C974.c | printk("scsi%d: weird: service request when no command connected\n", instance->host_no); |
instance | 1165 | drivers/scsi/AM53C974.c | static void AM53C974_intr_disconnect(struct Scsi_Host *instance) |
instance | 1168 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1170 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1188 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1190 | drivers/scsi/AM53C974.c | instance->host_no, cmd->cmnd[0], cmd->target, cmd->lun)); |
instance | 1198 | drivers/scsi/AM53C974.c | " the disconnected_queue\n", instance->host_no, cmd->target, |
instance | 1200 | drivers/scsi/AM53C974.c | DEB_QUEUE(AM53C974_print_queues(instance)); |
instance | 1222 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1224 | drivers/scsi/AM53C974.c | instance->host_no, cmd->SCp.phase, cmd->target, cmd->SCp.this_residual, cmd->SCp.buffers_residual, |
instance | 1255 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1270 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1290 | drivers/scsi/AM53C974.c | static int AM53C974_sync_neg(struct Scsi_Host *instance, int target, unsigned char *msg) |
instance | 1293 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1295 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1337 | drivers/scsi/AM53C974.c | static __inline__ void AM53C974_set_async(struct Scsi_Host *instance, int target) |
instance | 1340 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1341 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1357 | drivers/scsi/AM53C974.c | static __inline__ void AM53C974_set_sync(struct Scsi_Host *instance, int target) |
instance | 1360 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1361 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1385 | drivers/scsi/AM53C974.c | static void AM53C974_information_transfer(struct Scsi_Host *instance, |
instance | 1391 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1394 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1422 | drivers/scsi/AM53C974.c | AM53C974_transfer_dma(instance, statreg & STATREG_IO, |
instance | 1433 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1435 | drivers/scsi/AM53C974.c | AM53C974_dma_blast(instance, dmastatus, statreg); |
instance | 1450 | drivers/scsi/AM53C974.c | ret = AM53C974_message(instance, cmd, cmd->SCp.Message); } |
instance | 1457 | drivers/scsi/AM53C974.c | ret = AM53C974_message(instance, cmd, cmd->SCp.Message); |
instance | 1460 | drivers/scsi/AM53C974.c | AM53C974_set_sync(instance, cmd->target); |
instance | 1466 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1489 | drivers/scsi/AM53C974.c | AM53C974_set_sync(instance, cmd->target); |
instance | 1494 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1498 | drivers/scsi/AM53C974.c | AM53C974_set_sync(instance, cmd->target); |
instance | 1504 | drivers/scsi/AM53C974.c | AM53C974_dma_blast(instance, dmastatus, statreg); |
instance | 1505 | drivers/scsi/AM53C974.c | AM53C974_set_async(instance, cmd->target); |
instance | 1544 | drivers/scsi/AM53C974.c | static int AM53C974_message(struct Scsi_Host *instance, Scsi_Cmnd *cmd, |
instance | 1555 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1556 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1573 | drivers/scsi/AM53C974.c | instance->host_no, cmd->target, cmd->lun)); |
instance | 1578 | drivers/scsi/AM53C974.c | instance->host_no, cmd->target, cmd->lun); |
instance | 1594 | drivers/scsi/AM53C974.c | instance->host_no, cmd->target, cmd->lun)); |
instance | 1604 | drivers/scsi/AM53C974.c | instance->host_no, cmd->cmnd[0], cmd->target, cmd->lun)); |
instance | 1631 | drivers/scsi/AM53C974.c | DEB_MSG(printk("scsi%d : performing request sense\n", instance->host_no)); |
instance | 1645 | drivers/scsi/AM53C974.c | DEB_MSG(printk("scsi%d : REQUEST SENSE added to head of issue queue\n",instance->host_no)); |
instance | 1654 | drivers/scsi/AM53C974.c | instance->host_no, cmd->cmnd[0], cmd->target, cmd->lun)); |
instance | 1679 | drivers/scsi/AM53C974.c | instance->host_no, cmd->cmnd[0], cmd->target, cmd->lun)); |
instance | 1688 | drivers/scsi/AM53C974.c | instance->host_no, cmd->cmnd[0], cmd->target, cmd->lun)); |
instance | 1706 | drivers/scsi/AM53C974.c | instance->host_no, cmd->cmnd[0], cmd->target, cmd->lun)); |
instance | 1737 | drivers/scsi/AM53C974.c | printk("scsi%d: received extended message: ", instance->host_no); |
instance | 1746 | drivers/scsi/AM53C974.c | ret = AM53C974_sync_neg(instance, cmd->target, extended_msg); |
instance | 1753 | drivers/scsi/AM53C974.c | printk("scsi%d: unknown message 0x%02x received\n",instance->host_no, msg); |
instance | 1786 | drivers/scsi/AM53C974.c | static void AM53C974_select(struct Scsi_Host *instance, Scsi_Cmnd *cmd, int tag) |
instance | 1789 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1792 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1796 | drivers/scsi/AM53C974.c | printk("scsi%d: select error; %d residual bytes in FIFO\n", instance->host_no, cfifo); |
instance | 1869 | drivers/scsi/AM53C974.c | static void AM53C974_intr_reselect(struct Scsi_Host *instance, unsigned char statreg) |
instance | 1872 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 1878 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 1895 | drivers/scsi/AM53C974.c | printk("scsi %d: error: %d bytes in fifo, 2 expected\n", instance->host_no, cfifo); |
instance | 1901 | drivers/scsi/AM53C974.c | if (!(t & (1 << instance->this_id))) { |
instance | 1902 | drivers/scsi/AM53C974.c | printk("scsi %d: error: invalid host id\n", instance->host_no); |
instance | 1905 | drivers/scsi/AM53C974.c | t ^= (1 << instance->this_id); |
instance | 1907 | drivers/scsi/AM53C974.c | DEB_RESEL(printk("scsi %d: reselect; target: %d\n", instance->host_no, target)); |
instance | 1912 | drivers/scsi/AM53C974.c | printk("scsi %d: error: upon reselection interrupt not in MSGIN\n", instance->host_no); |
instance | 1918 | drivers/scsi/AM53C974.c | printk("scsi%d: error: expecting IDENTIFY message, got ", instance->host_no); |
instance | 1955 | drivers/scsi/AM53C974.c | instance->host_no, target, lun, tag); |
instance | 1958 | drivers/scsi/AM53C974.c | instance->host_no, target, lun); |
instance | 1974 | drivers/scsi/AM53C974.c | instance->host_no, target, tmp->lun, tmp->tag)); |
instance | 1975 | drivers/scsi/AM53C974.c | AM53C974_set_sync(instance, target); |
instance | 1996 | drivers/scsi/AM53C974.c | static __inline__ void AM53C974_transfer_dma(struct Scsi_Host *instance, short dir, |
instance | 2000 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 2025 | drivers/scsi/AM53C974.c | static void AM53C974_dma_blast(struct Scsi_Host *instance, unsigned char dmastatus, |
instance | 2029 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 2033 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 2072 | drivers/scsi/AM53C974.c | static void AM53C974_intr_bus_reset(struct Scsi_Host *instance) |
instance | 2076 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 2099 | drivers/scsi/AM53C974.c | struct Scsi_Host *instance = cmd->host; |
instance | 2100 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 2107 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 2110 | drivers/scsi/AM53C974.c | DEB_ABORT(printk("scsi%d : AM53C974_abort called -- trouble starts!!\n", instance->host_no)); |
instance | 2111 | drivers/scsi/AM53C974.c | DEB_ABORT(AM53C974_print(instance)); |
instance | 2118 | drivers/scsi/AM53C974.c | DEB_ABORT(printk("scsi%d: aborting connected command\n", instance->host_no)); |
instance | 2131 | drivers/scsi/AM53C974.c | DEB_ABORT(printk("scsi%d : abort removed command from issue queue.\n", instance->host_no)); |
instance | 2142 | drivers/scsi/AM53C974.c | printk("scsi%d : LOOP\n", instance->host_no); |
instance | 2156 | drivers/scsi/AM53C974.c | DEB_ABORT(printk("scsi%d : abort failed, other command connected.\n", instance->host_no)); |
instance | 2167 | drivers/scsi/AM53C974.c | DEB_ABORT(printk("scsi%d: aborting disconnected command\n", instance->host_no)); |
instance | 2184 | drivers/scsi/AM53C974.c | DEB_ABORT(printk("scsi%d : abort failed, command not found.\n", instance->host_no)); |
instance | 2202 | drivers/scsi/AM53C974.c | struct Scsi_Host *instance = cmd->host; |
instance | 2203 | drivers/scsi/AM53C974.c | struct AM53C974_hostdata *hostdata = (struct AM53C974_hostdata *)instance->hostdata; |
instance | 2204 | drivers/scsi/AM53C974.c | AM53C974_setio(instance); |
instance | 2210 | drivers/scsi/AM53C974.c | AM53C974_print(instance); |
instance | 2234 | drivers/scsi/AM53C974.c | AM53C974_write_8(CNTLREG1, CNTLREG1_DISR | instance->this_id); /* disable interrupt upon SCSI RESET */ |
instance | 2237 | drivers/scsi/AM53C974.c | AM53C974_config_after_reset(instance); |
instance | 296 | drivers/scsi/AM53C974.h | #define AM53C974_setio(instance) io_port = instance->io_port |
instance | 325 | drivers/scsi/AM53C974.h | #define AM53C974_PCIREG_READ_BYTE(instance,a) ( inb((a) + (instance)->io_port) ) |
instance | 326 | drivers/scsi/AM53C974.h | #define AM53C974_PCIREG_READ_WORD(instance,a) ( inw((a) + (instance)->io_port) ) |
instance | 327 | drivers/scsi/AM53C974.h | #define AM53C974_PCIREG_READ_DWORD(instance,a) ( inl((a) + (instance)->io_port) ) |
instance | 328 | drivers/scsi/AM53C974.h | #define AM53C974_PCIREG_WRITE_BYTE(instance,x,a) ( outb((x), (a) + (instance)->io_port) ) |
instance | 329 | drivers/scsi/AM53C974.h | #define AM53C974_PCIREG_WRITE_WORD(instance,x,a) ( outw((x), (a) + (instance)->io_port) ) |
instance | 330 | drivers/scsi/AM53C974.h | #define AM53C974_PCIREG_WRITE_DWORD(instance,x,a) ( outl((x), (a) + (instance)->io_port) ) |
instance | 368 | drivers/scsi/NCR5380.c | static void NCR5380_print(struct Scsi_Host *instance) { |
instance | 371 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 414 | drivers/scsi/NCR5380.c | static void NCR5380_print_phase(struct Scsi_Host *instance) { |
instance | 418 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 423 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 427 | drivers/scsi/NCR5380.c | printk("scsi%d : phase %s\n", instance->host_no, phases[i].name); |
instance | 548 | drivers/scsi/NCR5380.c | static int NCR5380_set_timer (struct Scsi_Host *instance) { |
instance | 552 | drivers/scsi/NCR5380.c | if (((struct NCR5380_hostdata *) (instance->host_data))->next_timer) { |
instance | 560 | drivers/scsi/NCR5380.c | if (instance->time_expires < tmp->time_expires) |
instance | 563 | drivers/scsi/NCR5380.c | instance->next_timer = tmp; |
instance | 564 | drivers/scsi/NCR5380.c | *prev = instance; |
instance | 573 | drivers/scsi/NCR5380.c | struct Scsi_Host *instance; |
instance | 576 | drivers/scsi/NCR5380.c | instance = ((NCR5380_hostdata *) expires_first->host_data)-> |
instance | 582 | drivers/scsi/NCR5380.c | expires_first = instance; |
instance | 633 | drivers/scsi/NCR5380.c | static int NCR5380_probe_irq (struct Scsi_Host *instance, int possible) { |
instance | 636 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 639 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 688 | drivers/scsi/NCR5380.c | static void NCR5380_print_options (struct Scsi_Host *instance) { |
instance | 722 | drivers/scsi/NCR5380.c | if (((struct NCR5380_hostdata *)instance->hostdata)->flags & FLAG_NCR53C400) { |
instance | 736 | drivers/scsi/NCR5380.c | static void NCR5380_print_status (struct Scsi_Host *instance) { |
instance | 745 | drivers/scsi/NCR5380.c | NCR5380_print (instance); |
instance | 746 | drivers/scsi/NCR5380.c | NCR5380_print_phase (instance); |
instance | 750 | drivers/scsi/NCR5380.c | instance->host_no, 0); |
instance | 786 | drivers/scsi/NCR5380.c | struct Scsi_Host *instance; |
instance | 790 | drivers/scsi/NCR5380.c | for (instance = first_instance; instance && |
instance | 791 | drivers/scsi/NCR5380.c | instance->host_no != hostno; instance=instance->next) |
instance | 793 | drivers/scsi/NCR5380.c | if (!instance) |
instance | 795 | drivers/scsi/NCR5380.c | hostdata = (struct NCR5380_hostdata *)instance->hostdata; |
instance | 807 | drivers/scsi/NCR5380.c | if (((struct NCR5380_hostdata *)instance->hostdata)->flags & FLAG_NCR53C400) |
instance | 822 | drivers/scsi/NCR5380.c | SPRINTF("\nBase Addr: 0x%05X ", (int)instance->base); |
instance | 823 | drivers/scsi/NCR5380.c | SPRINTF("io_port: %04x ", (int)instance->io_port); |
instance | 824 | drivers/scsi/NCR5380.c | if (instance->irq == IRQ_NONE) |
instance | 827 | drivers/scsi/NCR5380.c | SPRINTF("IRQ: %d.\n", instance->irq); |
instance | 840 | drivers/scsi/NCR5380.c | SPRINTF("scsi%d: no currently connected command\n", instance->host_no); |
instance | 844 | drivers/scsi/NCR5380.c | SPRINTF("scsi%d: issue_queue\n", instance->host_no); |
instance | 849 | drivers/scsi/NCR5380.c | SPRINTF("scsi%d: disconnected_queue\n", instance->host_no); |
instance | 903 | drivers/scsi/NCR5380.c | static void NCR5380_init (struct Scsi_Host *instance, int flags) { |
instance | 908 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 917 | drivers/scsi/NCR5380.c | instance->NCR5380_instance_name += NCR53C400_address_adjust; |
instance | 920 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 925 | drivers/scsi/NCR5380.c | hostdata->id_mask = 1 << instance->this_id; |
instance | 957 | drivers/scsi/NCR5380.c | the_template = instance->hostt; |
instance | 958 | drivers/scsi/NCR5380.c | first_instance = instance; |
instance | 968 | drivers/scsi/NCR5380.c | if ((instance->cmd_per_lun > 1) || instance->can_queue > 1)) |
instance | 971 | drivers/scsi/NCR5380.c | " be incorrectly cleared.\n", instance->host_no); |
instance | 1004 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1010 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1011 | drivers/scsi/NCR5380.c | do_abort (instance); |
instance | 1015 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1016 | drivers/scsi/NCR5380.c | do_reset (instance); |
instance | 1020 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1048 | drivers/scsi/NCR5380.c | struct Scsi_Host *instance = cmd->host; |
instance | 1050 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 1058 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1124 | drivers/scsi/NCR5380.c | printk("scsi%d : command added to %s of queue\n", instance->host_no, |
instance | 1147 | drivers/scsi/NCR5380.c | struct Scsi_Host *instance; |
instance | 1166 | drivers/scsi/NCR5380.c | for (instance = first_instance; instance && |
instance | 1167 | drivers/scsi/NCR5380.c | instance->hostt == the_template; instance=instance->next) { |
instance | 1168 | drivers/scsi/NCR5380.c | hostdata = (struct NCR5380_hostdata *) instance->hostdata; |
instance | 1172 | drivers/scsi/NCR5380.c | printk("scsi%d : not connected\n", instance->host_no); |
instance | 1214 | drivers/scsi/NCR5380.c | instance->host_no, tmp->target, tmp->lun); |
instance | 1228 | drivers/scsi/NCR5380.c | if (!NCR5380_select(instance, tmp, |
instance | 1248 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1266 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1268 | drivers/scsi/NCR5380.c | NCR5380_information_transfer(instance); |
instance | 1270 | drivers/scsi/NCR5380.c | printk("scsi%d : main() : done set false\n", instance->host_no); |
instance | 1294 | drivers/scsi/NCR5380.c | struct Scsi_Host *instance; |
instance | 1302 | drivers/scsi/NCR5380.c | for (instance = first_instance; instance && (instance->hostt == |
instance | 1303 | drivers/scsi/NCR5380.c | the_template); instance = instance->next) |
instance | 1304 | drivers/scsi/NCR5380.c | if (instance->irq == irq) { |
instance | 1307 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 1312 | drivers/scsi/NCR5380.c | NCR5380_print(instance); |
instance | 1319 | drivers/scsi/NCR5380.c | printk("scsi%d : SEL interrupt\n", instance->host_no); |
instance | 1321 | drivers/scsi/NCR5380.c | NCR5380_reselect(instance); |
instance | 1325 | drivers/scsi/NCR5380.c | printk("scsi%d : PARITY interrupt\n", instance->host_no); |
instance | 1330 | drivers/scsi/NCR5380.c | printk("scsi%d : RESET interrupt\n", instance->host_no); |
instance | 1353 | drivers/scsi/NCR5380.c | instance->hostno); |
instance | 1355 | drivers/scsi/NCR5380.c | transfered = (hostdata->dmalen - NCR5380_dma_residual(instance)); |
instance | 1451 | drivers/scsi/NCR5380.c | static int NCR5380_select (struct Scsi_Host *instance, Scsi_Cmnd *cmd, |
instance | 1455 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 1460 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 1464 | drivers/scsi/NCR5380.c | NCR5380_print(instance); |
instance | 1465 | drivers/scsi/NCR5380.c | printk("scsi%d : starting arbitration, id = %d\n", instance->host_no, |
instance | 1466 | drivers/scsi/NCR5380.c | instance->this_id); |
instance | 1508 | drivers/scsi/NCR5380.c | printk("scsi%d : arbitration complete\n", instance->host_no); |
instance | 1529 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1543 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1556 | drivers/scsi/NCR5380.c | printk("scsi%d : won arbitration\n", instance->host_no); |
instance | 1613 | drivers/scsi/NCR5380.c | printk("scsi%d : selecting target %d\n", instance->host_no, cmd->target); |
instance | 1635 | drivers/scsi/NCR5380.c | NCR5380_reselect(instance); |
instance | 1637 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1655 | drivers/scsi/NCR5380.c | printk("scsi%d : weirdness\n", instance->host_no); |
instance | 1659 | drivers/scsi/NCR5380.c | NCR5380_print (instance); |
instance | 1672 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 1714 | drivers/scsi/NCR5380.c | instance->host_no, cmd->target); |
instance | 1716 | drivers/scsi/NCR5380.c | tmp[0] = IDENTIFY(((instance->irq == IRQ_NONE) ? 0 : 1), cmd->lun); |
instance | 1743 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, &data); |
instance | 1745 | drivers/scsi/NCR5380.c | printk("scsi%d : nexus established.\n", instance->host_no); |
instance | 1785 | drivers/scsi/NCR5380.c | static int NCR5380_transfer_pio (struct Scsi_Host *instance, |
instance | 1791 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 1795 | drivers/scsi/NCR5380.c | printk("scsi%d : pio write %d bytes\n", instance->host_no, c); |
instance | 1797 | drivers/scsi/NCR5380.c | printk("scsi%d : pio read %d bytes\n", instance->host_no, c); |
instance | 1816 | drivers/scsi/NCR5380.c | printk("scsi%d : REQ detected\n", instance->host_no); |
instance | 1822 | drivers/scsi/NCR5380.c | printk("scsi%d : phase mismatch\n", instance->host_no); |
instance | 1823 | drivers/scsi/NCR5380.c | NCR5380_print_phase(instance); |
instance | 1848 | drivers/scsi/NCR5380.c | NCR5380_print(instance); |
instance | 1856 | drivers/scsi/NCR5380.c | NCR5380_print(instance); |
instance | 1863 | drivers/scsi/NCR5380.c | NCR5380_print(instance); |
instance | 1871 | drivers/scsi/NCR5380.c | printk("scsi%d : req false, handshake complete\n", instance->host_no); |
instance | 1894 | drivers/scsi/NCR5380.c | printk("scsi%d : residual %d\n", instance->host_no, c); |
instance | 1999 | drivers/scsi/NCR5380.c | static int NCR5380_transfer_dma (struct Scsi_Host *instance, |
instance | 2013 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 2015 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 2029 | drivers/scsi/NCR5380.c | instance->host_no, instance->dma_channel, (p & SR_IO) ? "reading" : |
instance | 2033 | drivers/scsi/NCR5380.c | NCR5380_dma_read_setup(instance, d, c) : |
instance | 2034 | drivers/scsi/NCR5380.c | NCR5380_dma_write_setup(instance, d, c); |
instance | 2063 | drivers/scsi/NCR5380.c | printk("scsi%d : mode reg = 0x%X\n", instance->host_no, NCR5380_read(MODE_REG)); |
instance | 2157 | drivers/scsi/NCR5380.c | instance->host_no, tmp, NCR5380_read(STATUS_REG)); |
instance | 2163 | drivers/scsi/NCR5380.c | residue = NCR5380_dma_residual(instance); |
instance | 2186 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, phase, &cnt, data); |
instance | 2202 | drivers/scsi/NCR5380.c | foo = NCR5380_pread(instance, d, c); |
instance | 2209 | drivers/scsi/NCR5380.c | if (!(foo = NCR5380_pread(instance, d, c - diff))) { |
instance | 2242 | drivers/scsi/NCR5380.c | foo = NCR5380_pwrite(instance, d, c); |
instance | 2248 | drivers/scsi/NCR5380.c | if (!(foo = NCR5380_pwrite(instance, d, c))) { |
instance | 2274 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 2284 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 2325 | drivers/scsi/NCR5380.c | NCR5380_print_phase(instance); |
instance | 2352 | drivers/scsi/NCR5380.c | static void NCR5380_information_transfer (struct Scsi_Host *instance) { |
instance | 2355 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 2365 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 2375 | drivers/scsi/NCR5380.c | NCR5380_print_phase(instance); |
instance | 2396 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 2398 | drivers/scsi/NCR5380.c | do_abort(instance); |
instance | 2415 | drivers/scsi/NCR5380.c | instance->host_no, cmd->SCp.this_residual, |
instance | 2441 | drivers/scsi/NCR5380.c | (transfersize = NCR5380_dma_xfer_len(instance, cmd)) != 0) { |
instance | 2460 | drivers/scsi/NCR5380.c | if (NCR5380_transfer_dma(instance, &phase, |
instance | 2467 | drivers/scsi/NCR5380.c | instance->host_no, cmd->target, cmd->lun); |
instance | 2472 | drivers/scsi/NCR5380.c | do_abort(instance); |
instance | 2480 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, |
instance | 2487 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, &data); |
instance | 2509 | drivers/scsi/NCR5380.c | instance->host_no, cmd->target, cmd->lun); |
instance | 2519 | drivers/scsi/NCR5380.c | instance->host_no, cmd->target, cmd->lun); |
instance | 2521 | drivers/scsi/NCR5380.c | do_abort (instance); |
instance | 2531 | drivers/scsi/NCR5380.c | instance->host_no, cmd->target, cmd->lun); |
instance | 2548 | drivers/scsi/NCR5380.c | instance->host_no, cmd->target, cmd->lun); |
instance | 2578 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 2599 | drivers/scsi/NCR5380.c | printk("scsi%d : REQUEST SENSE added to head of issue queue\n",instance->host_no); |
instance | 2645 | drivers/scsi/NCR5380.c | " the disconnected_queue\n", instance->host_no, |
instance | 2660 | drivers/scsi/NCR5380.c | NCR5380_print_status(instance); |
instance | 2697 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 2703 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, &data); |
instance | 2707 | drivers/scsi/NCR5380.c | instance->host_no, (int) extended_msg[1], |
instance | 2719 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, &data); |
instance | 2723 | drivers/scsi/NCR5380.c | instance->host_no, len); |
instance | 2735 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 2739 | drivers/scsi/NCR5380.c | instance->host_no, extended_msg[2], extended_msg[1]); |
instance | 2750 | drivers/scsi/NCR5380.c | printk("scsi%d: rejecting message ", instance->host_no); |
instance | 2755 | drivers/scsi/NCR5380.c | instance->host_no, tmp, cmd->target, cmd->lun); |
instance | 2758 | drivers/scsi/NCR5380.c | instance->host_no, extended_msg[1], extended_msg[0], cmd->target, cmd->lun); |
instance | 2770 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, &data); |
instance | 2792 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, |
instance | 2798 | drivers/scsi/NCR5380.c | printk("scsi%d : issued command, sleeping until %ul\n", instance->host_no, |
instance | 2801 | drivers/scsi/NCR5380.c | NCR5380_set_timer (instance); |
instance | 2809 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, &data); |
instance | 2813 | drivers/scsi/NCR5380.c | printk("scsi%d : unknown phase\n", instance->host_no); |
instance | 2815 | drivers/scsi/NCR5380.c | NCR5380_print(instance); |
instance | 2825 | drivers/scsi/NCR5380.c | printk("scsi%d : poll timed out, sleeping until %ul\n", instance->host_no, |
instance | 2828 | drivers/scsi/NCR5380.c | NCR5380_set_timer (instance); |
instance | 2848 | drivers/scsi/NCR5380.c | static void NCR5380_reselect (struct Scsi_Host *instance) { |
instance | 2851 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 2862 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 2875 | drivers/scsi/NCR5380.c | printk("scsi%d : reselect\n", instance->host_no); |
instance | 2901 | drivers/scsi/NCR5380.c | NCR5380_transfer_pio(instance, &phase, &len, &data); |
instance | 2906 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 2951 | drivers/scsi/NCR5380.c | instance->host_no, target_mask, lun, tag); |
instance | 2954 | drivers/scsi/NCR5380.c | instance->host_no, target_mask, lun); |
instance | 2965 | drivers/scsi/NCR5380.c | do_abort (instance); |
instance | 2970 | drivers/scsi/NCR5380.c | instance->host_no, tmp->target, tmp->lun, tmp->tag); |
instance | 2988 | drivers/scsi/NCR5380.c | static void NCR5380_dma_complete (NCR5380_instance *instance) { |
instance | 2991 | drivers/scsi/NCR5380.c | instance->hostdata); |
instance | 2993 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 3016 | drivers/scsi/NCR5380.c | transferred = instance->dmalen - NCR5380_dma_residual(); |
instance | 3045 | drivers/scsi/NCR5380.c | struct Scsi_Host *instance = cmd->host; |
instance | 3047 | drivers/scsi/NCR5380.c | instance->hostdata; |
instance | 3050 | drivers/scsi/NCR5380.c | printk("scsi%d : aborting command\n", instance->host_no); |
instance | 3053 | drivers/scsi/NCR5380.c | NCR5380_print_status (instance); |
instance | 3055 | drivers/scsi/NCR5380.c | printk("scsi%d : aborting command\n", instance->host_no); |
instance | 3058 | drivers/scsi/NCR5380.c | NCR5380_print_status (instance); |
instance | 3061 | drivers/scsi/NCR5380.c | NCR5380_setup(instance); |
instance | 3064 | drivers/scsi/NCR5380.c | printk("scsi%d : abort called\n", instance->host_no); |
instance | 3078 | drivers/scsi/NCR5380.c | printk("scsi%d : aborting connected command\n", instance->host_no); |
instance | 3108 | drivers/scsi/NCR5380.c | printk("scsi%d : abort going into loop.\n", instance->host_no); |
instance | 3122 | drivers/scsi/NCR5380.c | instance->host_no); |
instance | 3129 | drivers/scsi/NCR5380.c | else if (prev == tmp) printk("scsi%d : LOOP\n", instance->host_no); |
instance | 3146 | drivers/scsi/NCR5380.c | printk("scsi%d : abort failed, command connected.\n", instance->host_no); |
instance | 3181 | drivers/scsi/NCR5380.c | printk("scsi%d : aborting disconnected command.\n", instance->host_no); |
instance | 3184 | drivers/scsi/NCR5380.c | if (NCR5380_select (instance, cmd, (int) cmd->tag)) |
instance | 3188 | drivers/scsi/NCR5380.c | printk("scsi%d : nexus reestablished.\n", instance->host_no); |
instance | 3191 | drivers/scsi/NCR5380.c | do_abort (instance); |
instance | 3221 | drivers/scsi/NCR5380.c | " before abortion\n", instance->host_no); |
instance | 283 | drivers/scsi/NCR5380.h | static int NCR5380_probe_irq (struct Scsi_Host *instance, int possible); |
instance | 285 | drivers/scsi/NCR5380.h | static void NCR5380_init (struct Scsi_Host *instance, int flags); |
instance | 286 | drivers/scsi/NCR5380.h | static void NCR5380_information_transfer (struct Scsi_Host *instance); |
instance | 291 | drivers/scsi/NCR5380.h | static void NCR5380_print_options (struct Scsi_Host *instance); |
instance | 292 | drivers/scsi/NCR5380.h | static void NCR5380_print_phase (struct Scsi_Host *instance); |
instance | 293 | drivers/scsi/NCR5380.h | static void NCR5380_print (struct Scsi_Host *instance); |
instance | 308 | drivers/scsi/NCR5380.h | static void NCR5380_reselect (struct Scsi_Host *instance); |
instance | 309 | drivers/scsi/NCR5380.h | static int NCR5380_select (struct Scsi_Host *instance, Scsi_Cmnd *cmd, int tag); |
instance | 311 | drivers/scsi/NCR5380.h | static int NCR5380_transfer_dma (struct Scsi_Host *instance, |
instance | 314 | drivers/scsi/NCR5380.h | static int NCR5380_transfer_pio (struct Scsi_Host *instance, |
instance | 318 | drivers/scsi/NCR5380.h | static __inline__ int NCR5380_i386_dma_setup (struct Scsi_Host *instance, |
instance | 322 | drivers/scsi/NCR5380.h | if (instance->dma_channel <=3) { |
instance | 335 | drivers/scsi/NCR5380.h | panic ("scsi%d : attempted unaligned DMA transfer\n", instance->host_no); |
instance | 337 | drivers/scsi/NCR5380.h | disable_dma(instance->dma_channel); |
instance | 338 | drivers/scsi/NCR5380.h | clear_dma_ff(instance->dma_channel); |
instance | 339 | drivers/scsi/NCR5380.h | set_dma_addr(instance->dma_channel, (unsigned int) ptr); |
instance | 340 | drivers/scsi/NCR5380.h | set_dma_count(instance->dma_channel, count); |
instance | 341 | drivers/scsi/NCR5380.h | set_dma_mode(instance->dma_channel, mode); |
instance | 342 | drivers/scsi/NCR5380.h | enable_dma(instance->dma_channel); |
instance | 347 | drivers/scsi/NCR5380.h | static __inline__ int NCR5380_i386_dma_write_setup (struct Scsi_Host *instance, |
instance | 349 | drivers/scsi/NCR5380.h | return NCR5380_i386_dma_setup (instance, src, count, DMA_MODE_WRITE); |
instance | 352 | drivers/scsi/NCR5380.h | static __inline__ int NCR5380_i386_dma_read_setup (struct Scsi_Host *instance, |
instance | 354 | drivers/scsi/NCR5380.h | return NCR5380_i386_dma_setup (instance, src, count, DMA_MODE_READ); |
instance | 357 | drivers/scsi/NCR5380.h | static __inline__ int NCR5380_i386_dma_residual (struct Scsi_Host *instance) { |
instance | 360 | drivers/scsi/NCR5380.h | clear_dma_ff(instance->dma_channel); |
instance | 361 | drivers/scsi/NCR5380.h | tmp = get_dma_residue(instance->dma_channel); |
instance | 168 | drivers/scsi/dtc.c | struct Scsi_Host *instance; |
instance | 204 | drivers/scsi/dtc.c | instance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata)); |
instance | 205 | drivers/scsi/dtc.c | instance->base = base; |
instance | 207 | drivers/scsi/dtc.c | NCR5380_init(instance, 0); |
instance | 211 | drivers/scsi/dtc.c | instance->irq = overrides[current_override].irq; |
instance | 213 | drivers/scsi/dtc.c | instance->irq = NCR5380_probe_irq(instance, DTC_IRQS); |
instance | 218 | drivers/scsi/dtc.c | if (instance->irq != IRQ_NONE) |
instance | 219 | drivers/scsi/dtc.c | if (request_irq(instance->irq, dtc_intr, SA_INTERRUPT, "dtc")) { |
instance | 221 | drivers/scsi/dtc.c | instance->host_no, instance->irq); |
instance | 222 | drivers/scsi/dtc.c | instance->irq = IRQ_NONE; |
instance | 225 | drivers/scsi/dtc.c | if (instance->irq == IRQ_NONE) { |
instance | 226 | drivers/scsi/dtc.c | printk("scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); |
instance | 227 | drivers/scsi/dtc.c | printk("scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); |
instance | 230 | drivers/scsi/dtc.c | if (instance->irq != IRQ_NONE) |
instance | 232 | drivers/scsi/dtc.c | instance->host_no); |
instance | 233 | drivers/scsi/dtc.c | instance->irq = IRQ_NONE; |
instance | 236 | drivers/scsi/dtc.c | printk("scsi%d : irq = %d\n", instance->host_no, instance->irq); |
instance | 239 | drivers/scsi/dtc.c | printk("scsi%d : at 0x%05X", instance->host_no, (int)instance->base); |
instance | 240 | drivers/scsi/dtc.c | if (instance->irq == IRQ_NONE) |
instance | 243 | drivers/scsi/dtc.c | printk (" irq %d", instance->irq); |
instance | 246 | drivers/scsi/dtc.c | NCR5380_print_options(instance); |
instance | 301 | drivers/scsi/dtc.c | static inline int NCR5380_pread (struct Scsi_Host *instance, |
instance | 307 | drivers/scsi/dtc.c | NCR5380_setup(instance); |
instance | 312 | drivers/scsi/dtc.c | if (instance->irq == IRQ_NONE) |
instance | 353 | drivers/scsi/dtc.c | static inline int NCR5380_pwrite (struct Scsi_Host *instance, |
instance | 357 | drivers/scsi/dtc.c | NCR5380_setup(instance); |
instance | 362 | drivers/scsi/dtc.c | if (instance->irq == IRQ_NONE) |
instance | 124 | drivers/scsi/dtc.h | #define NCR5380_setup(instance) \ |
instance | 125 | drivers/scsi/dtc.h | base = (volatile unsigned char *) (instance)->base |
instance | 188 | drivers/scsi/g_NCR5380.c | struct Scsi_Host *instance; |
instance | 205 | drivers/scsi/g_NCR5380.c | instance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata)); |
instance | 206 | drivers/scsi/g_NCR5380.c | instance->NCR5380_instance_name = overrides[current_override].NCR5380_map_name; |
instance | 208 | drivers/scsi/g_NCR5380.c | NCR5380_init(instance, flags); |
instance | 211 | drivers/scsi/g_NCR5380.c | instance->irq = overrides[current_override].irq; |
instance | 213 | drivers/scsi/g_NCR5380.c | instance->irq = NCR5380_probe_irq(instance, 0xffff); |
instance | 215 | drivers/scsi/g_NCR5380.c | if (instance->irq != IRQ_NONE) |
instance | 216 | drivers/scsi/g_NCR5380.c | if (request_irq(instance->irq, generic_NCR5380_intr, SA_INTERRUPT, "NCR5380", NULL)) { |
instance | 218 | drivers/scsi/g_NCR5380.c | instance->host_no, instance->irq); |
instance | 219 | drivers/scsi/g_NCR5380.c | instance->irq = IRQ_NONE; |
instance | 222 | drivers/scsi/g_NCR5380.c | if (instance->irq == IRQ_NONE) { |
instance | 223 | drivers/scsi/g_NCR5380.c | printk("scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); |
instance | 224 | drivers/scsi/g_NCR5380.c | printk("scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); |
instance | 227 | drivers/scsi/g_NCR5380.c | printk("scsi%d : at " STRVAL(NCR5380_map_name) " 0x%x", instance->host_no, (unsigned int)instance->NCR5380_instance_name); |
instance | 228 | drivers/scsi/g_NCR5380.c | if (instance->irq == IRQ_NONE) |
instance | 231 | drivers/scsi/g_NCR5380.c | printk (" irq %d", instance->irq); |
instance | 234 | drivers/scsi/g_NCR5380.c | NCR5380_print_options(instance); |
instance | 248 | drivers/scsi/g_NCR5380.c | int generic_NCR5380_release_resources(struct Scsi_Host * instance) |
instance | 252 | drivers/scsi/g_NCR5380.c | NCR5380_setup(instance); |
instance | 254 | drivers/scsi/g_NCR5380.c | free_irq(instance->irq, NULL); |
instance | 291 | drivers/scsi/g_NCR5380.c | static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst, int len) |
instance | 299 | drivers/scsi/g_NCR5380.c | NCR5380_setup(instance); |
instance | 399 | drivers/scsi/g_NCR5380.c | static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src, int len) |
instance | 407 | drivers/scsi/g_NCR5380.c | NCR5380_setup(instance); |
instance | 147 | drivers/scsi/g_NCR5380.h | #define NCR5380_setup(instance) \ |
instance | 148 | drivers/scsi/g_NCR5380.h | NCR5380_map_name = (NCR5380_map_type)((instance)->NCR5380_instance_name) |
instance | 373 | drivers/scsi/pas16.c | struct Scsi_Host *instance; |
instance | 412 | drivers/scsi/pas16.c | instance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata)); |
instance | 413 | drivers/scsi/pas16.c | instance->io_port = io_port; |
instance | 415 | drivers/scsi/pas16.c | NCR5380_init(instance, 0); |
instance | 418 | drivers/scsi/pas16.c | instance->irq = overrides[current_override].irq; |
instance | 420 | drivers/scsi/pas16.c | instance->irq = NCR5380_probe_irq(instance, PAS16_IRQS); |
instance | 422 | drivers/scsi/pas16.c | if (instance->irq != IRQ_NONE) |
instance | 423 | drivers/scsi/pas16.c | if (request_irq(instance->irq, pas16_intr, SA_INTERRUPT, "pas16", NULL)) { |
instance | 425 | drivers/scsi/pas16.c | instance->host_no, instance->irq); |
instance | 426 | drivers/scsi/pas16.c | instance->irq = IRQ_NONE; |
instance | 429 | drivers/scsi/pas16.c | if (instance->irq == IRQ_NONE) { |
instance | 430 | drivers/scsi/pas16.c | printk("scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); |
instance | 431 | drivers/scsi/pas16.c | printk("scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); |
instance | 438 | drivers/scsi/pas16.c | printk("scsi%d : irq = %d\n", instance->host_no, instance->irq); |
instance | 441 | drivers/scsi/pas16.c | printk("scsi%d : at 0x%04x", instance->host_no, (int) |
instance | 442 | drivers/scsi/pas16.c | instance->io_port); |
instance | 443 | drivers/scsi/pas16.c | if (instance->irq == IRQ_NONE) |
instance | 446 | drivers/scsi/pas16.c | printk (" irq %d", instance->irq); |
instance | 449 | drivers/scsi/pas16.c | NCR5380_print_options(instance); |
instance | 508 | drivers/scsi/pas16.c | static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst, |
instance | 511 | drivers/scsi/pas16.c | register unsigned short reg = (unsigned short) (instance->io_port + |
instance | 516 | drivers/scsi/pas16.c | while ( !(inb(instance->io_port + P_STATUS_REG_OFFSET) & P_ST_RDY) ) |
instance | 521 | drivers/scsi/pas16.c | if ( inb(instance->io_port + P_TIMEOUT_STATUS_REG_OFFSET) & P_TS_TIM) { |
instance | 522 | drivers/scsi/pas16.c | outb( P_TS_CT, instance->io_port + P_TIMEOUT_STATUS_REG_OFFSET); |
instance | 524 | drivers/scsi/pas16.c | instance->host_no); |
instance | 545 | drivers/scsi/pas16.c | static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src, |
instance | 548 | drivers/scsi/pas16.c | register unsigned short reg = (instance->io_port + P_DATA_REG_OFFSET); |
instance | 552 | drivers/scsi/pas16.c | while ( !((inb(instance->io_port + P_STATUS_REG_OFFSET)) & P_ST_RDY) ) |
instance | 557 | drivers/scsi/pas16.c | if (inb(instance->io_port + P_TIMEOUT_STATUS_REG_OFFSET) & P_TS_TIM) { |
instance | 558 | drivers/scsi/pas16.c | outb( P_TS_CT, instance->io_port + P_TIMEOUT_STATUS_REG_OFFSET); |
instance | 560 | drivers/scsi/pas16.c | instance->host_no); |
instance | 162 | drivers/scsi/pas16.h | #define NCR5380_setup(instance) \ |
instance | 163 | drivers/scsi/pas16.h | io_port = (instance)->io_port |
instance | 173 | drivers/scsi/pas16.h | , instance->hostno, (reg), PAS16_io_port(reg))), inb( PAS16_io_port(reg)) ) |
instance | 177 | drivers/scsi/pas16.h | instance->hostno, (value), (reg), PAS16_io_port(reg)), \ |
instance | 286 | drivers/scsi/seagate.c | struct Scsi_Host *instance; |
instance | 358 | drivers/scsi/seagate.c | instance = scsi_register(tpnt, 0); |
instance | 359 | drivers/scsi/seagate.c | hostno = instance->host_no; |
instance | 366 | drivers/scsi/seagate.c | instance->irq = irq; |
instance | 367 | drivers/scsi/seagate.c | instance->io_port = (unsigned int) base_address; |
instance | 202 | drivers/scsi/t128.c | struct Scsi_Host *instance; |
instance | 238 | drivers/scsi/t128.c | instance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata)); |
instance | 239 | drivers/scsi/t128.c | instance->base = base; |
instance | 241 | drivers/scsi/t128.c | NCR5380_init(instance, 0); |
instance | 244 | drivers/scsi/t128.c | instance->irq = overrides[current_override].irq; |
instance | 246 | drivers/scsi/t128.c | instance->irq = NCR5380_probe_irq(instance, T128_IRQS); |
instance | 248 | drivers/scsi/t128.c | if (instance->irq != IRQ_NONE) |
instance | 249 | drivers/scsi/t128.c | if (request_irq(instance->irq, t128_intr, SA_INTERRUPT, "t128", NULL)) { |
instance | 251 | drivers/scsi/t128.c | instance->host_no, instance->irq); |
instance | 252 | drivers/scsi/t128.c | instance->irq = IRQ_NONE; |
instance | 255 | drivers/scsi/t128.c | if (instance->irq == IRQ_NONE) { |
instance | 256 | drivers/scsi/t128.c | printk("scsi%d : interrupts not enabled. for better interactive performance,\n", instance->host_no); |
instance | 257 | drivers/scsi/t128.c | printk("scsi%d : please jumper the board for a free IRQ.\n", instance->host_no); |
instance | 261 | drivers/scsi/t128.c | printk("scsi%d : irq = %d\n", instance->host_no, instance->irq); |
instance | 264 | drivers/scsi/t128.c | printk("scsi%d : at 0x%08x", instance->host_no, (int) |
instance | 265 | drivers/scsi/t128.c | instance->base); |
instance | 266 | drivers/scsi/t128.c | if (instance->irq == IRQ_NONE) |
instance | 269 | drivers/scsi/t128.c | printk (" irq %d", instance->irq); |
instance | 272 | drivers/scsi/t128.c | NCR5380_print_options(instance); |
instance | 323 | drivers/scsi/t128.c | static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst, |
instance | 325 | drivers/scsi/t128.c | register unsigned char *reg = (unsigned char *) (instance->base + |
instance | 332 | drivers/scsi/t128.c | while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); |
instance | 334 | drivers/scsi/t128.c | while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); |
instance | 340 | drivers/scsi/t128.c | if (*(instance->base + T_STATUS_REG_OFFSET) & T_ST_TIM) { |
instance | 343 | drivers/scsi/t128.c | foo = instance->base + T_CONTROL_REG_OFFSET; |
instance | 348 | drivers/scsi/t128.c | instance->host_no); |
instance | 367 | drivers/scsi/t128.c | static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src, |
instance | 369 | drivers/scsi/t128.c | register unsigned char *reg = (unsigned char *) (instance->base + |
instance | 375 | drivers/scsi/t128.c | while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); |
instance | 377 | drivers/scsi/t128.c | while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); |
instance | 383 | drivers/scsi/t128.c | if (*(instance->base + T_STATUS_REG_OFFSET) & T_ST_TIM) { |
instance | 386 | drivers/scsi/t128.c | foo = instance->base + T_CONTROL_REG_OFFSET; |
instance | 391 | drivers/scsi/t128.c | instance->host_no); |
instance | 140 | drivers/scsi/t128.h | #define NCR5380_setup(instance) \ |
instance | 141 | drivers/scsi/t128.h | base = (volatile unsigned char *) (instance)->base |
instance | 151 | drivers/scsi/t128.h | , instance->hostno, (reg), T128_address(reg))), *(T128_address(reg))) |
instance | 155 | drivers/scsi/t128.h | instance->hostno, (value), (reg), T128_address(reg)); \ |