Lines Matching refs:sh
81 int eata_pio_release(struct Scsi_Host *sh) in eata_pio_release() argument
83 if (sh->irq && reg_IRQ[sh->irq] == 1) free_irq(sh->irq, NULL); in eata_pio_release()
84 else reg_IRQ[sh->irq]--; in eata_pio_release()
85 if (SD(sh)->channel == 0) { in eata_pio_release()
86 if (sh->io_port && sh->n_io_port) in eata_pio_release()
87 release_region(sh->io_port, sh->n_io_port); in eata_pio_release()
128 struct Scsi_Host *sh; in eata_pio_int_handler() local
135 for (x = 1, sh = first_HBA; x <= registered_HBAs; x++, sh = SD(sh)->prev) { in eata_pio_int_handler()
136 if (sh->irq != irq) in eata_pio_int_handler()
138 if (inb((uint)sh->base + HA_RSTATUS) & HA_SBUSY) in eata_pio_int_handler()
143 hd=SD(sh); in eata_pio_int_handler()
287 struct Scsi_Host *sh; in eata_pio_queue() local
296 sh = cmd->host; in eata_pio_queue()
297 base = (uint) sh->base; in eata_pio_queue()
306 sh->can_queue,x,y)); in eata_pio_queue()
396 "lun: %x slot %d irq %d\n", (long)sh->base, cmd->pid, in eata_pio_queue()
397 cmd->target, cmd->lun, y, sh->irq)); in eata_pio_queue()
681 struct Scsi_Host *sh; in register_pio_HBA() local
730 sh = scsi_register(tpnt, size); in register_pio_HBA()
731 if(sh == NULL) in register_pio_HBA()
737 hd = SD(sh); in register_pio_HBA()
742 strncpy(SD(sh)->vendor, &buff[8], 8); in register_pio_HBA()
743 SD(sh)->vendor[8] = 0; in register_pio_HBA()
744 strncpy(SD(sh)->name, &buff[16], 17); in register_pio_HBA()
745 SD(sh)->name[17] = 0; in register_pio_HBA()
746 SD(sh)->revision[0] = buff[32]; in register_pio_HBA()
747 SD(sh)->revision[1] = buff[33]; in register_pio_HBA()
748 SD(sh)->revision[2] = buff[34]; in register_pio_HBA()
749 SD(sh)->revision[3] = '.'; in register_pio_HBA()
750 SD(sh)->revision[4] = buff[35]; in register_pio_HBA()
751 SD(sh)->revision[5] = 0; in register_pio_HBA()
755 SD(sh)->EATA_revision = 'a'; in register_pio_HBA()
758 SD(sh)->EATA_revision = 'b'; in register_pio_HBA()
761 SD(sh)->EATA_revision = 'c'; in register_pio_HBA()
764 SD(sh)->EATA_revision = 'z'; in register_pio_HBA()
766 SD(sh)->EATA_revision = '?'; in register_pio_HBA()
785 SD(sh)->cplen=cplen; in register_pio_HBA()
786 SD(sh)->cppadlen=cppadlen; in register_pio_HBA()
787 SD(sh)->hostid=gc->scsi_id[3]; in register_pio_HBA()
788 SD(sh)->devflags=1<<gc->scsi_id[3]; in register_pio_HBA()
789 SD(sh)->moresupport=gc->MORE_support; in register_pio_HBA()
790 sh->unique_id = base; in register_pio_HBA()
791 sh->base = base; in register_pio_HBA()
792 sh->io_port = base; in register_pio_HBA()
793 sh->n_io_port = 8; in register_pio_HBA()
794 sh->irq = gc->IRQ; in register_pio_HBA()
795 sh->dma_channel = PIO; in register_pio_HBA()
796 sh->this_id = gc->scsi_id[3]; in register_pio_HBA()
797 sh->can_queue = 1; in register_pio_HBA()
798 sh->cmd_per_lun = 1; in register_pio_HBA()
799 sh->sg_tablesize = SG_ALL; in register_pio_HBA()
803 sh->max_id = 8; in register_pio_HBA()
804 sh->max_lun = 8; in register_pio_HBA()
811 sh->unchecked_isa_dma = FALSE; /* We can only do PIO */ in register_pio_HBA()
816 SD(hd->prev)->next = sh; in register_pio_HBA()
817 last_HBA = sh; in register_pio_HBA()
819 first_HBA = sh; in register_pio_HBA()