Lines Matching defs:io_base
133 unsigned io_base;
188 static inline void sscape_write_unsafe(unsigned io_base, enum GA_REG reg,
191 outb(reg, ODIE_ADDR_IO(io_base));
192 outb(val, ODIE_DATA_IO(io_base));
205 sscape_write_unsafe(s->io_base, reg, val);
213 static inline unsigned char sscape_read_unsafe(unsigned io_base,
216 outb(reg, ODIE_ADDR_IO(io_base));
217 return inb(ODIE_DATA_IO(io_base));
223 static inline void set_host_mode_unsafe(unsigned io_base)
225 outb(0x0, HOST_CTRL_IO(io_base));
231 static inline void set_midi_mode_unsafe(unsigned io_base)
233 outb(0x3, HOST_CTRL_IO(io_base));
240 static inline int host_read_unsafe(unsigned io_base)
243 if ((inb(HOST_CTRL_IO(io_base)) & RX_READY) != 0)
244 data = inb(HOST_DATA_IO(io_base));
254 static int host_read_ctrl_unsafe(unsigned io_base, unsigned timeout)
258 while (((data = host_read_unsafe(io_base)) < 0) && (timeout != 0)) {
270 static inline int host_write_unsafe(unsigned io_base, unsigned char data)
272 if ((inb(HOST_CTRL_IO(io_base)) & TX_READY) != 0) {
273 outb(data, HOST_DATA_IO(io_base));
285 static int host_write_ctrl_unsafe(unsigned io_base, unsigned char data,
290 while (!(err = host_write_unsafe(io_base, data)) && (timeout != 0)) {
323 static void activate_ad1845_unsafe(unsigned io_base)
325 unsigned char val = sscape_read_unsafe(io_base, GA_HMCTL_REG);
326 sscape_write_unsafe(io_base, GA_HMCTL_REG, (val & 0xcf) | 0x10);
327 sscape_write_unsafe(io_base, GA_CDCFG_REG, 0x80);
345 static void sscape_start_dma_unsafe(unsigned io_base, enum GA_REG reg)
347 sscape_write_unsafe(io_base, reg,
348 sscape_read_unsafe(io_base, reg) | 0x01);
349 sscape_write_unsafe(io_base, reg,
350 sscape_read_unsafe(io_base, reg) & 0xfe);
357 static int sscape_wait_dma_unsafe(unsigned io_base, enum GA_REG reg,
360 while (!(sscape_read_unsafe(io_base, reg) & 0x01) && (timeout != 0)) {
365 return sscape_read_unsafe(io_base, reg) & 0x01;
384 x = host_read_unsafe(s->io_base);
411 x = host_read_unsafe(s->io_base);
441 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
442 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val & 0x3f);
448 sscape_write_unsafe(s->io_base, GA_DMAA_REG, val);
449 sscape_write_unsafe(s->io_base, GA_DMAB_REG, 0x20);
454 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
455 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val | 0x80);
470 sscape_start_dma_unsafe(s->io_base, GA_DMAA_REG);
471 if (!sscape_wait_dma_unsafe(s->io_base, GA_DMAA_REG, 5000)) {
484 set_host_mode_unsafe(s->io_base);
485 outb(0x0, s->io_base);
490 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
491 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val | 0x40);
544 data = host_read_ctrl_unsafe(sscape->io_base, 100);
547 sscape_write_unsafe(sscape->io_base, GA_SMCFGA_REG, 0x2f);
633 set_host_mode_unsafe(s->io_base);
645 change = host_write_ctrl_unsafe(s->io_base, CMD_SET_MIDI_VOL, 100)
646 && host_write_ctrl_unsafe(s->io_base, new_val, 100)
647 && host_write_ctrl_unsafe(s->io_base, CMD_XXX_MIDI_VOL, 100)
648 && host_write_ctrl_unsafe(s->io_base, new_val, 100);
655 set_midi_mode_unsafe(s->io_base);
710 if ((inb(HOST_CTRL_IO(s->io_base)) & 0x78) != 0)
713 d = inb(ODIE_ADDR_IO(s->io_base)) & 0xf0;
724 outb(0xfa, ODIE_ADDR_IO(s->io_base));
725 if ((inb(ODIE_ADDR_IO(s->io_base)) & 0x9f) != 0x0a)
728 outb(0xfe, ODIE_ADDR_IO(s->io_base));
729 if ((inb(ODIE_ADDR_IO(s->io_base)) & 0x9f) != 0x0e)
732 outb(0xfe, ODIE_ADDR_IO(s->io_base));
733 d = inb(ODIE_DATA_IO(s->io_base));
738 activate_ad1845_unsafe(s->io_base);
743 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
744 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d | 0xc0);
761 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG) & 0x3f;
762 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d);
767 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
768 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d | 0xc0);
973 sscape->io_base = port[dev];
977 sscape->io_base);
1001 name, sscape->io_base, irq[dev], dma[dev]);
1026 sscape_write_unsafe(sscape->io_base, GA_SMCFGA_REG, 0x2e);
1027 sscape_write_unsafe(sscape->io_base, GA_SMCFGB_REG, 0x00);
1032 sscape_write_unsafe(sscape->io_base, GA_DMACFG_REG, 0x50);
1034 sscape_write_unsafe(sscape->io_base, GA_DMAA_REG, dma_cfg);
1035 sscape_write_unsafe(sscape->io_base, GA_DMAB_REG, 0x20);
1038 val = sscape_read_unsafe(sscape->io_base, GA_HMCTL_REG) & 0xF7;
1041 sscape_write_unsafe(sscape->io_base, GA_HMCTL_REG, val | 0x10);
1042 sscape_write_unsafe(sscape->io_base, GA_INTCFG_REG, 0xf0 | mpu_irq_cfg);
1043 sscape_write_unsafe(sscape->io_base,
1049 sscape_write_unsafe(sscape->io_base, GA_INTENA_REG, 0x80);
1093 host_write_ctrl_unsafe(sscape->io_base,
1095 host_write_ctrl_unsafe(sscape->io_base,
1097 host_write_ctrl_unsafe(sscape->io_base,
1099 host_write_ctrl_unsafe(sscape->io_base,
1101 host_write_ctrl_unsafe(sscape->io_base,
1103 host_write_ctrl_unsafe(sscape->io_base,
1105 host_write_ctrl_unsafe(sscape->io_base, CMD_ACK, 100);
1107 set_midi_mode_unsafe(sscape->io_base);