Lines Matching refs:base

112 	int base;
125 outb(0, fd->base + REG_BCTL);
126 outb(0, fd->base + REG_MCTL);
130 fd->base + REG_ACTL);
132 outb(ACTL_RESET | PARITY_MASK, fd->base + REG_ACTL);
159 static int fdomain_test_loopback(int base)
164 outb(i, base + REG_LOOPBACK);
165 if (inb(base + REG_LOOPBACK) != i)
172 static void fdomain_reset(int base)
174 outb(BCTL_RST, base + REG_BCTL);
176 outb(0, base + REG_BCTL);
178 outb(0, base + REG_MCTL);
179 outb(PARITY_MASK, base + REG_ACTL);
188 outb(BCTL_BUSEN | BCTL_SEL, fd->base + REG_BCTL);
189 outb(BIT(sh->this_id) | BIT(target), fd->base + REG_SCSI_DATA_NOACK);
192 outb(PARITY_MASK, fd->base + REG_ACTL);
197 status = inb(fd->base + REG_BSTAT);
201 outb(BCTL_BUSEN, fd->base + REG_BCTL);
212 outb(0, fd->base + REG_ICTL);
224 while ((len = inw(fd->base + REG_FIFO_COUNT)) > 0) {
230 *ptr++ = inb(fd->base + REG_FIFO);
232 insw(fd->base + REG_FIFO, ptr, len >> 1);
246 while ((len = FIFO_Size - inw(fd->base + REG_FIFO_COUNT)) > 512) {
257 outb(*ptr++, fd->base + REG_FIFO);
259 outsw(fd->base + REG_FIFO, ptr, len >> 1);
279 status = inb(fd->base + REG_ASTAT);
287 outb(ICTL_SEL | FIFO_COUNT, fd->base + REG_ICTL);
288 outb(BCTL_BUSEN | BCTL_SEL, fd->base + REG_BCTL);
290 fd->base + REG_SCSI_DATA_NOACK);
292 outb(ACTL_IRQEN | PARITY_MASK, fd->base + REG_ACTL);
295 status = inb(fd->base + REG_BSTAT);
304 outb(ACTL_IRQEN | PARITY_MASK, fd->base + REG_ACTL);
307 outb(ICTL_FIFO | ICTL_REQ | FIFO_COUNT, fd->base + REG_ICTL);
308 outb(BCTL_BUSEN, fd->base + REG_BCTL);
313 status = inb(fd->base + REG_BSTAT);
319 fd->base + REG_SCSI_DATA);
325 PARITY_MASK, fd->base + REG_ACTL);
332 fd->base + REG_ACTL);
336 scsi_pointer->Status = inb(fd->base + REG_SCSI_DATA);
339 outb(MESSAGE_REJECT, fd->base + REG_SCSI_DATA);
342 scsi_pointer->Message = inb(fd->base + REG_SCSI_DATA);
354 PARITY_MASK, fd->base + REG_ACTL);
358 fd->base + REG_ACTL);
376 fd->base + REG_ICTL);
377 outb(0, fd->base + REG_BCTL);
380 fd->base + REG_ICTL);
391 if ((inb(fd->base + REG_ASTAT) & ASTAT_IRQ) == 0)
394 outb(0, fd->base + REG_ICTL);
425 outb(0, fd->base + REG_ICTL);
426 outb(0, fd->base + REG_BCTL); /* Disable data drivers */
428 outb(BIT(cmd->device->host->this_id), fd->base + REG_SCSI_DATA_NOACK);
429 outb(ICTL_ARB, fd->base + REG_ICTL);
431 outb(ACTL_ARB | ACTL_IRQEN | PARITY_MASK, fd->base + REG_ACTL);
466 fdomain_reset(fd->base);
514 struct Scsi_Host *fdomain_create(int base, int irq, int this_id,
525 chip = fdomain_identify(base);
529 fdomain_reset(base);
531 if (fdomain_test_loopback(base))
547 sh->io_port = base;
551 fd->base = base;
563 base, irq, sh->this_id);
598 fdomain_reset(fd->base);