tag | line | file | source code |
sh | 252 | drivers/scsi/eata.c | static struct Scsi_Host * sh[MAX_BOARDS + 1]; |
sh | 256 | drivers/scsi/eata.c | #define HD(board) ((struct hostdata *) &sh[board]->hostdata) |
sh | 387 | drivers/scsi/eata.c | sh[j] = scsi_register(tpnt, sizeof(struct hostdata)); |
sh | 388 | drivers/scsi/eata.c | sh[j]->io_port = *port_base; |
sh | 389 | drivers/scsi/eata.c | sh[j]->dma_channel = dma_channel; |
sh | 390 | drivers/scsi/eata.c | sh[j]->irq = irq; |
sh | 391 | drivers/scsi/eata.c | sh[j]->sg_tablesize = (ushort) ntohs(info.scatt_size); |
sh | 392 | drivers/scsi/eata.c | sh[j]->this_id = (ushort) ntohl(info.host_addr); |
sh | 393 | drivers/scsi/eata.c | sh[j]->can_queue = (ushort) ntohs(info.queue_size); |
sh | 394 | drivers/scsi/eata.c | sh[j]->cmd_per_lun = MAX_CMD_PER_LUN; |
sh | 397 | drivers/scsi/eata.c | request_region(sh[j]->io_port, REG_REGION, driver_name); |
sh | 405 | drivers/scsi/eata.c | sh[j]->unchecked_isa_dma = FALSE; |
sh | 407 | drivers/scsi/eata.c | sh[j]->block = sh[j]; |
sh | 408 | drivers/scsi/eata.c | sh[j]->unchecked_isa_dma = TRUE; |
sh | 418 | drivers/scsi/eata.c | "Mbox %d, CmdLun %d.\n", BN(j), board_status, sh[j]->this_id, |
sh | 419 | drivers/scsi/eata.c | sh[j]->io_port, sh[j]->irq, |
sh | 420 | drivers/scsi/eata.c | sh[j]->dma_channel, sh[j]->sg_tablesize, |
sh | 421 | drivers/scsi/eata.c | sh[j]->can_queue, sh[j]->cmd_per_lun); |
sh | 424 | drivers/scsi/eata.c | if (sh[j]->sg_tablesize > MAX_SGLIST || sh[j]->sg_tablesize < 2) { |
sh | 426 | drivers/scsi/eata.c | sh[j]->sg_tablesize = MAX_SGLIST; |
sh | 430 | drivers/scsi/eata.c | if (sh[j]->can_queue > MAX_MAILBOXES || sh[j]->can_queue < 2) { |
sh | 432 | drivers/scsi/eata.c | sh[j]->can_queue = MAX_MAILBOXES; |
sh | 463 | drivers/scsi/eata.c | for (k = 0; k < MAX_BOARDS + 1; k++) sh[k] = NULL; |
sh | 507 | drivers/scsi/eata.c | for (k = 0; k < sh[j]->can_queue; k++, i++) { |
sh | 509 | drivers/scsi/eata.c | if (i >= sh[j]->can_queue) i = 0; |
sh | 517 | drivers/scsi/eata.c | if (k == sh[j]->can_queue) { |
sh | 579 | drivers/scsi/eata.c | if (do_dma(sh[j]->io_port, (unsigned int) cpp, SEND_CP_DMA)) { |
sh | 611 | drivers/scsi/eata.c | if (i >= sh[j]->can_queue) |
sh | 614 | drivers/scsi/eata.c | if (wait_on_busy(sh[j]->io_port)) { |
sh | 672 | drivers/scsi/eata.c | if (wait_on_busy(sh[j]->io_port)) { |
sh | 680 | drivers/scsi/eata.c | for (i = 0; i < sh[j]->can_queue; i++) { |
sh | 710 | drivers/scsi/eata.c | if (do_dma(sh[j]->io_port, 0, RESET_PIO)) { |
sh | 725 | drivers/scsi/eata.c | for (i = 0; i < sh[j]->can_queue; i++) { |
sh | 777 | drivers/scsi/eata.c | for (j = 0; sh[j] != NULL; j++) { |
sh | 779 | drivers/scsi/eata.c | if (sh[j]->irq != irq) continue; |
sh | 784 | drivers/scsi/eata.c | while (inb(sh[j]->io_port + REG_AUX_STATUS) & IRQ_ASSERTED) { |
sh | 792 | drivers/scsi/eata.c | inb(sh[j]->io_port + REG_STATUS); |
sh | 795 | drivers/scsi/eata.c | for (i = 0; i < sh[j]->can_queue; i++) { |
sh | 939 | drivers/scsi/eata.c | for (j = 0; sh[j] != NULL; j++) |
sh | 941 | drivers/scsi/eata.c | calls[(sh[j]->irq)], HD(j)->iocount, HD(j)->multicount); |
sh | 100 | drivers/scsi/eata_dma.c | struct Scsi_Host *sh; |
sh | 105 | drivers/scsi/eata_dma.c | for (x = 1, sh = last_HBA; x <= registered_HBAs; x++, sh = SD(sh)->next) { |
sh | 106 | drivers/scsi/eata_dma.c | if (sh->irq != irq) |
sh | 108 | drivers/scsi/eata_dma.c | if (!(inb((uint)sh->base + HA_RAUXSTAT) & HA_AIRQ)) |
sh | 113 | drivers/scsi/eata_dma.c | sp=&SD(sh)->sp; |
sh | 243 | drivers/scsi/eata_dma.c | struct Scsi_Host *sh; |
sh | 253 | drivers/scsi/eata_dma.c | sh = cmd->host; |
sh | 256 | drivers/scsi/eata_dma.c | for (y = hd->last_ccb + 1, x = 0; x < sh->can_queue; x++, y++) { |
sh | 257 | drivers/scsi/eata_dma.c | if (y >= sh->can_queue) |
sh | 265 | drivers/scsi/eata_dma.c | if (x == sh->can_queue) { |
sh | 267 | drivers/scsi/eata_dma.c | DBG(DBG_QUEUE, printk("can_queue %d, x %d, y %d\n",sh->can_queue,x,y)); |
sh | 325 | drivers/scsi/eata_dma.c | if(eata_send_command((ulong) cp, (uint) sh->base, EATA_CMD_DMA_SEND_CP)) { |
sh | 334 | drivers/scsi/eata_dma.c | (long)sh->base, cmd->pid, cmd->target, cmd->lun, y, sh->irq)); |
sh | 638 | drivers/scsi/eata_dma.c | struct Scsi_Host *sh; |
sh | 710 | drivers/scsi/eata_dma.c | sh = scsi_register(tpnt, size); |
sh | 711 | drivers/scsi/eata_dma.c | hd = SD(sh); |
sh | 716 | drivers/scsi/eata_dma.c | strncpy(SD(sh)->vendor, &buff[8], 8); |
sh | 717 | drivers/scsi/eata_dma.c | SD(sh)->vendor[8] = 0; |
sh | 718 | drivers/scsi/eata_dma.c | strncpy(SD(sh)->name, &buff[16], 17); |
sh | 719 | drivers/scsi/eata_dma.c | SD(sh)->name[17] = 0; |
sh | 720 | drivers/scsi/eata_dma.c | SD(sh)->revision[0] = buff[32]; |
sh | 721 | drivers/scsi/eata_dma.c | SD(sh)->revision[1] = buff[33]; |
sh | 722 | drivers/scsi/eata_dma.c | SD(sh)->revision[2] = buff[34]; |
sh | 723 | drivers/scsi/eata_dma.c | SD(sh)->revision[3] = '.'; |
sh | 724 | drivers/scsi/eata_dma.c | SD(sh)->revision[4] = buff[35]; |
sh | 725 | drivers/scsi/eata_dma.c | SD(sh)->revision[5] = 0; |
sh | 728 | drivers/scsi/eata_dma.c | SD(sh)->EATA_revision = 'a'; |
sh | 731 | drivers/scsi/eata_dma.c | SD(sh)->EATA_revision = 'b'; |
sh | 734 | drivers/scsi/eata_dma.c | SD(sh)->EATA_revision = 'c'; |
sh | 737 | drivers/scsi/eata_dma.c | SD(sh)->EATA_revision = '?'; |
sh | 739 | drivers/scsi/eata_dma.c | sh->base = (char *) base; |
sh | 740 | drivers/scsi/eata_dma.c | sh->irq = gc->IRQ; |
sh | 742 | drivers/scsi/eata_dma.c | sh->dma_channel = dma_channel; |
sh | 744 | drivers/scsi/eata_dma.c | sh->dma_channel = 0; |
sh | 746 | drivers/scsi/eata_dma.c | sh->this_id = gc->scsi_id[3 - i]; |
sh | 748 | drivers/scsi/eata_dma.c | sh->can_queue = ntohs(gc->queuesiz) / (gc->MAX_CHAN + 1); |
sh | 751 | drivers/scsi/eata_dma.c | sh->cmd_per_lun = sh->can_queue/C_P_L_DIV; |
sh | 752 | drivers/scsi/eata_dma.c | if (sh->cmd_per_lun > C_P_L_CURRENT_MAX) |
sh | 753 | drivers/scsi/eata_dma.c | sh->cmd_per_lun = C_P_L_CURRENT_MAX; |
sh | 755 | drivers/scsi/eata_dma.c | sh->cmd_per_lun = 1; |
sh | 757 | drivers/scsi/eata_dma.c | sh->sg_tablesize = ntohs(gc->SGsiz); |
sh | 758 | drivers/scsi/eata_dma.c | if (sh->sg_tablesize > SG_SIZE || sh->sg_tablesize == 0) { |
sh | 759 | drivers/scsi/eata_dma.c | sh->sg_tablesize = SG_SIZE; |
sh | 764 | drivers/scsi/eata_dma.c | sh->loaded_as_module = 0; /* Not yet supported */ |
sh | 781 | drivers/scsi/eata_dma.c | sh->unchecked_isa_dma = FALSE; |
sh | 783 | drivers/scsi/eata_dma.c | sh->unchecked_isa_dma = TRUE; /* We're doing ISA DMA */ |
sh | 804 | drivers/scsi/eata_dma.c | SD(hd->prev)->next = sh; |
sh | 805 | drivers/scsi/eata_dma.c | last_HBA = sh; |
sh | 217 | drivers/scsi/hosts.c | scsi_unregister(struct Scsi_Host * sh){ |
sh | 221 | drivers/scsi/hosts.c | j = sh->extra_bytes; |
sh | 223 | drivers/scsi/hosts.c | if(scsi_hostlist == sh) |
sh | 227 | drivers/scsi/hosts.c | while(shpnt->next != sh) shpnt = shpnt->next; |
sh | 231 | drivers/scsi/hosts.c | scsi_init_free((char *) sh, sizeof(struct Scsi_Host) + j); |
sh | 342 | drivers/scsi/hosts.c | struct Scsi_Host * sh[128], * shpnt; |
sh | 345 | drivers/scsi/hosts.c | if (shpnt->block) sh[block_count++] = shpnt; |
sh | 347 | drivers/scsi/hosts.c | if (block_count == 1) sh[0]->block = NULL; |
sh | 352 | drivers/scsi/hosts.c | sh[index]->block = sh[index + 1]; |
sh | 354 | drivers/scsi/hosts.c | sh[index]->host_no); |
sh | 357 | drivers/scsi/hosts.c | sh[block_count - 1]->block = sh[0]; |
sh | 359 | drivers/scsi/hosts.c | sh[index]->host_no); |
sh | 245 | drivers/scsi/u14-34f.c | static struct Scsi_Host * sh[MAX_BOARDS + 1]; |
sh | 249 | drivers/scsi/u14-34f.c | #define HD(board) ((struct hostdata *) &sh[board]->hostdata) |
sh | 341 | drivers/scsi/u14-34f.c | sh[j] = scsi_register(tpnt, sizeof(struct hostdata)); |
sh | 342 | drivers/scsi/u14-34f.c | sh[j]->io_port = *port_base; |
sh | 343 | drivers/scsi/u14-34f.c | sh[j]->base = bios_segment_table[config_1.bios_segment]; |
sh | 344 | drivers/scsi/u14-34f.c | sh[j]->irq = irq; |
sh | 345 | drivers/scsi/u14-34f.c | sh[j]->this_id = config_2.ha_scsi_id; |
sh | 346 | drivers/scsi/u14-34f.c | sh[j]->can_queue = MAX_MAILBOXES; |
sh | 347 | drivers/scsi/u14-34f.c | sh[j]->cmd_per_lun = MAX_CMD_PER_LUN; |
sh | 353 | drivers/scsi/u14-34f.c | sys_mask = inb(sh[j]->io_port + REG_SYS_MASK); |
sh | 354 | drivers/scsi/u14-34f.c | lcl_mask = inb(sh[j]->io_port + REG_LCL_MASK); |
sh | 360 | drivers/scsi/u14-34f.c | if (sh[j]->base == 0) outb(CMD_ENA_INTR, sh[j]->io_port + REG_SYS_MASK); |
sh | 363 | drivers/scsi/u14-34f.c | request_region(sh[j]->io_port, REG_REGION, driver_name); |
sh | 374 | drivers/scsi/u14-34f.c | sh[j]->dma_channel = 0; |
sh | 375 | drivers/scsi/u14-34f.c | sh[j]->unchecked_isa_dma = FALSE; |
sh | 376 | drivers/scsi/u14-34f.c | sh[j]->sg_tablesize = U34F_MAX_SGLIST; |
sh | 377 | drivers/scsi/u14-34f.c | sh[j]->hostt->use_clustering = U34F_CLUSTERING; |
sh | 381 | drivers/scsi/u14-34f.c | sh[j]->dma_channel = dma_channel; |
sh | 382 | drivers/scsi/u14-34f.c | sh[j]->block = sh[j]; |
sh | 383 | drivers/scsi/u14-34f.c | sh[j]->unchecked_isa_dma = TRUE; |
sh | 384 | drivers/scsi/u14-34f.c | sh[j]->sg_tablesize = U14F_MAX_SGLIST; |
sh | 385 | drivers/scsi/u14-34f.c | sh[j]->hostt->use_clustering = U14F_CLUSTERING; |
sh | 394 | drivers/scsi/u14-34f.c | "Mbox %d, CmdLun %d, C%d.\n", BN(j), sh[j]->io_port, |
sh | 395 | drivers/scsi/u14-34f.c | (int)sh[j]->base, sh[j]->irq, |
sh | 396 | drivers/scsi/u14-34f.c | sh[j]->dma_channel, sh[j]->sg_tablesize, |
sh | 397 | drivers/scsi/u14-34f.c | sh[j]->can_queue, sh[j]->cmd_per_lun, |
sh | 398 | drivers/scsi/u14-34f.c | sh[j]->hostt->use_clustering); |
sh | 419 | drivers/scsi/u14-34f.c | for (k = 0; k < MAX_BOARDS + 1; k++) sh[k] = NULL; |
sh | 464 | drivers/scsi/u14-34f.c | for (k = 0; k < sh[j]->can_queue; k++, i++) { |
sh | 466 | drivers/scsi/u14-34f.c | if (i >= sh[j]->can_queue) i = 0; |
sh | 474 | drivers/scsi/u14-34f.c | if (k == sh[j]->can_queue) { |
sh | 521 | drivers/scsi/u14-34f.c | if (wait_on_busy(sh[j]->io_port)) { |
sh | 532 | drivers/scsi/u14-34f.c | outl((unsigned int)cpp, sh[j]->io_port + REG_OGM); |
sh | 535 | drivers/scsi/u14-34f.c | outb(CMD_OGM_INTR, sh[j]->io_port + REG_LCL_INTR); |
sh | 559 | drivers/scsi/u14-34f.c | if (i >= sh[j]->can_queue) |
sh | 562 | drivers/scsi/u14-34f.c | if (wait_on_busy(sh[j]->io_port)) { |
sh | 620 | drivers/scsi/u14-34f.c | if (wait_on_busy(sh[j]->io_port)) { |
sh | 628 | drivers/scsi/u14-34f.c | for (i = 0; i < sh[j]->can_queue; i++) { |
sh | 658 | drivers/scsi/u14-34f.c | if (wait_on_busy(sh[j]->io_port)) { |
sh | 664 | drivers/scsi/u14-34f.c | outb(CMD_RESET, sh[j]->io_port + REG_LCL_INTR); |
sh | 674 | drivers/scsi/u14-34f.c | for (i = 0; i < sh[j]->can_queue; i++) { |
sh | 735 | drivers/scsi/u14-34f.c | for (j = 0; sh[j] != NULL; j++) { |
sh | 737 | drivers/scsi/u14-34f.c | if (sh[j]->irq != irq) continue; |
sh | 742 | drivers/scsi/u14-34f.c | while (inb(sh[j]->io_port + REG_SYS_INTR) & INTR_ASSERTED) { |
sh | 749 | drivers/scsi/u14-34f.c | spp = (struct mscp *)inl(sh[j]->io_port + REG_ICM); |
sh | 752 | drivers/scsi/u14-34f.c | outb(CMD_CLR_INTR, sh[j]->io_port + REG_SYS_INTR); |
sh | 756 | drivers/scsi/u14-34f.c | if (i >= sh[j]->can_queue) |
sh | 889 | drivers/scsi/u14-34f.c | for (j = 0; sh[j] != NULL; j++) |
sh | 891 | drivers/scsi/u14-34f.c | calls[(sh[j]->irq)], HD(j)->iocount, HD(j)->multicount); |
sh | 159 | drivers/scsi/wd7000.c | struct Scsi_Host *sh; /* Pointer to Scsi_Host structure */ |
sh | 1099 | drivers/scsi/wd7000.c | struct Scsi_Host *sh; |
sh | 1130 | drivers/scsi/wd7000.c | sh = scsi_register(tpnt, sizeof(Adapter) ); |
sh | 1131 | drivers/scsi/wd7000.c | host = (Adapter *) sh->hostdata; |
sh | 1137 | drivers/scsi/wd7000.c | host->sh = sh; |
sh | 1144 | drivers/scsi/wd7000.c | scsi_unregister (sh); |
sh | 1162 | drivers/scsi/wd7000.c | if (host->rev1 < 6) sh->sg_tablesize = SG_NONE; |