Lines Matching refs:base
112 int base;
120 outb(0, fd->base + REG_BCTL);
121 outb(0, fd->base + REG_MCTL);
125 fd->base + REG_ACTL);
127 outb(ACTL_RESET | PARITY_MASK, fd->base + REG_ACTL);
154 static int fdomain_test_loopback(int base)
159 outb(i, base + REG_LOOPBACK);
160 if (inb(base + REG_LOOPBACK) != i)
167 static void fdomain_reset(int base)
169 outb(BCTL_RST, base + REG_BCTL);
171 outb(0, base + REG_BCTL);
173 outb(0, base + REG_MCTL);
174 outb(PARITY_MASK, base + REG_ACTL);
183 outb(BCTL_BUSEN | BCTL_SEL, fd->base + REG_BCTL);
184 outb(BIT(sh->this_id) | BIT(target), fd->base + REG_SCSI_DATA_NOACK);
187 outb(PARITY_MASK, fd->base + REG_ACTL);
192 status = inb(fd->base + REG_BSTAT);
196 outb(BCTL_BUSEN, fd->base + REG_BCTL);
207 outb(0, fd->base + REG_ICTL);
220 while ((len = inw(fd->base + REG_FIFO_COUNT)) > 0) {
226 *ptr++ = inb(fd->base + REG_FIFO);
228 insw(fd->base + REG_FIFO, ptr, len >> 1);
242 while ((len = FIFO_Size - inw(fd->base + REG_FIFO_COUNT)) > 512) {
253 outb(*ptr++, fd->base + REG_FIFO);
255 outsw(fd->base + REG_FIFO, ptr, len >> 1);
274 status = inb(fd->base + REG_ASTAT);
281 outb(ICTL_SEL | FIFO_COUNT, fd->base + REG_ICTL);
282 outb(BCTL_BUSEN | BCTL_SEL, fd->base + REG_BCTL);
284 fd->base + REG_SCSI_DATA_NOACK);
286 outb(ACTL_IRQEN | PARITY_MASK, fd->base + REG_ACTL);
289 status = inb(fd->base + REG_BSTAT);
297 outb(ACTL_IRQEN | PARITY_MASK, fd->base + REG_ACTL);
300 outb(ICTL_FIFO | ICTL_REQ | FIFO_COUNT, fd->base + REG_ICTL);
301 outb(BCTL_BUSEN, fd->base + REG_BCTL);
306 status = inb(fd->base + REG_BSTAT);
312 fd->base + REG_SCSI_DATA);
318 PARITY_MASK, fd->base + REG_ACTL);
325 fd->base + REG_ACTL);
329 cmd->SCp.Status = inb(fd->base + REG_SCSI_DATA);
332 outb(MESSAGE_REJECT, fd->base + REG_SCSI_DATA);
335 cmd->SCp.Message = inb(fd->base + REG_SCSI_DATA);
347 PARITY_MASK, fd->base + REG_ACTL);
351 fd->base + REG_ACTL);
368 fd->base + REG_ICTL);
369 outb(0, fd->base + REG_BCTL);
372 fd->base + REG_ICTL);
383 if ((inb(fd->base + REG_ASTAT) & ASTAT_IRQ) == 0)
386 outb(0, fd->base + REG_ICTL);
416 outb(0, fd->base + REG_ICTL);
417 outb(0, fd->base + REG_BCTL); /* Disable data drivers */
419 outb(BIT(cmd->device->host->this_id), fd->base + REG_SCSI_DATA_NOACK);
420 outb(ICTL_ARB, fd->base + REG_ICTL);
422 outb(ACTL_ARB | ACTL_IRQEN | PARITY_MASK, fd->base + REG_ACTL);
457 fdomain_reset(fd->base);
504 struct Scsi_Host *fdomain_create(int base, int irq, int this_id,
515 chip = fdomain_identify(base);
519 fdomain_reset(base);
521 if (fdomain_test_loopback(base))
537 sh->io_port = base;
541 fd->base = base;
553 base, irq, sh->this_id);
588 fdomain_reset(fd->base);