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);
334 static void sscape_start_dma_unsafe(unsigned io_base, enum GA_REG reg)
336 sscape_write_unsafe(io_base, reg,
337 sscape_read_unsafe(io_base, reg) | 0x01);
338 sscape_write_unsafe(io_base, reg,
339 sscape_read_unsafe(io_base, reg) & 0xfe);
346 static int sscape_wait_dma_unsafe(unsigned io_base, enum GA_REG reg,
349 while (!(sscape_read_unsafe(io_base, reg) & 0x01) && (timeout != 0)) {
354 return sscape_read_unsafe(io_base, reg) & 0x01;
373 x = host_read_unsafe(s->io_base);
400 x = host_read_unsafe(s->io_base);
430 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
431 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val & 0x3f);
437 sscape_write_unsafe(s->io_base, GA_DMAA_REG, val);
438 sscape_write_unsafe(s->io_base, GA_DMAB_REG, 0x20);
443 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
444 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val | 0x80);
459 sscape_start_dma_unsafe(s->io_base, GA_DMAA_REG);
460 if (!sscape_wait_dma_unsafe(s->io_base, GA_DMAA_REG, 5000)) {
473 set_host_mode_unsafe(s->io_base);
474 outb(0x0, s->io_base);
479 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
480 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val | 0x40);
533 data = host_read_ctrl_unsafe(sscape->io_base, 100);
536 sscape_write_unsafe(sscape->io_base, GA_SMCFGA_REG, 0x2f);
622 set_host_mode_unsafe(s->io_base);
634 change = host_write_ctrl_unsafe(s->io_base, CMD_SET_MIDI_VOL, 100)
635 && host_write_ctrl_unsafe(s->io_base, new_val, 100)
636 && host_write_ctrl_unsafe(s->io_base, CMD_XXX_MIDI_VOL, 100)
637 && host_write_ctrl_unsafe(s->io_base, new_val, 100);
644 set_midi_mode_unsafe(s->io_base);
699 if ((inb(HOST_CTRL_IO(s->io_base)) & 0x78) != 0)
702 d = inb(ODIE_ADDR_IO(s->io_base)) & 0xf0;
713 outb(0xfa, ODIE_ADDR_IO(s->io_base));
714 if ((inb(ODIE_ADDR_IO(s->io_base)) & 0x9f) != 0x0a)
717 outb(0xfe, ODIE_ADDR_IO(s->io_base));
718 if ((inb(ODIE_ADDR_IO(s->io_base)) & 0x9f) != 0x0e)
721 outb(0xfe, ODIE_ADDR_IO(s->io_base));
722 d = inb(ODIE_DATA_IO(s->io_base));
727 activate_ad1845_unsafe(s->io_base);
732 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
733 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d | 0xc0);
750 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG) & 0x3f;
751 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d);
756 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG);
757 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d | 0xc0);
962 sscape->io_base = port[dev];
966 sscape->io_base);
989 name, sscape->io_base, irq[dev], dma[dev]);
1012 sscape_write_unsafe(sscape->io_base, GA_SMCFGA_REG, 0x2e);
1013 sscape_write_unsafe(sscape->io_base, GA_SMCFGB_REG, 0x00);
1018 sscape_write_unsafe(sscape->io_base, GA_DMACFG_REG, 0x50);
1020 sscape_write_unsafe(sscape->io_base, GA_DMAA_REG, dma_cfg);
1021 sscape_write_unsafe(sscape->io_base, GA_DMAB_REG, 0x20);
1024 val = sscape_read_unsafe(sscape->io_base, GA_HMCTL_REG) & 0xF7;
1027 sscape_write_unsafe(sscape->io_base, GA_HMCTL_REG, val | 0x10);
1028 sscape_write_unsafe(sscape->io_base, GA_INTCFG_REG, 0xf0 | mpu_irq_cfg);
1029 sscape_write_unsafe(sscape->io_base,
1035 sscape_write_unsafe(sscape->io_base, GA_INTENA_REG, 0x80);
1079 host_write_ctrl_unsafe(sscape->io_base,
1081 host_write_ctrl_unsafe(sscape->io_base,
1083 host_write_ctrl_unsafe(sscape->io_base,
1085 host_write_ctrl_unsafe(sscape->io_base,
1087 host_write_ctrl_unsafe(sscape->io_base,
1089 host_write_ctrl_unsafe(sscape->io_base,
1091 host_write_ctrl_unsafe(sscape->io_base, CMD_ACK, 100);
1093 set_midi_mode_unsafe(sscape->io_base);