Lines Matching refs:io_base

147 	unsigned io_base;  member
201 static inline void sscape_write_unsafe(unsigned io_base, enum GA_REG reg, in sscape_write_unsafe() argument
204 outb(reg, ODIE_ADDR_IO(io_base)); in sscape_write_unsafe()
205 outb(val, ODIE_DATA_IO(io_base)); in sscape_write_unsafe()
218 sscape_write_unsafe(s->io_base, reg, val); in sscape_write()
226 static inline unsigned char sscape_read_unsafe(unsigned io_base, in sscape_read_unsafe() argument
229 outb(reg, ODIE_ADDR_IO(io_base)); in sscape_read_unsafe()
230 return inb(ODIE_DATA_IO(io_base)); in sscape_read_unsafe()
236 static inline void set_host_mode_unsafe(unsigned io_base) in set_host_mode_unsafe() argument
238 outb(0x0, HOST_CTRL_IO(io_base)); in set_host_mode_unsafe()
244 static inline void set_midi_mode_unsafe(unsigned io_base) in set_midi_mode_unsafe() argument
246 outb(0x3, HOST_CTRL_IO(io_base)); in set_midi_mode_unsafe()
253 static inline int host_read_unsafe(unsigned io_base) in host_read_unsafe() argument
256 if ((inb(HOST_CTRL_IO(io_base)) & RX_READY) != 0) in host_read_unsafe()
257 data = inb(HOST_DATA_IO(io_base)); in host_read_unsafe()
267 static int host_read_ctrl_unsafe(unsigned io_base, unsigned timeout) in host_read_ctrl_unsafe() argument
271 while (((data = host_read_unsafe(io_base)) < 0) && (timeout != 0)) { in host_read_ctrl_unsafe()
283 static inline int host_write_unsafe(unsigned io_base, unsigned char data) in host_write_unsafe() argument
285 if ((inb(HOST_CTRL_IO(io_base)) & TX_READY) != 0) { in host_write_unsafe()
286 outb(data, HOST_DATA_IO(io_base)); in host_write_unsafe()
298 static int host_write_ctrl_unsafe(unsigned io_base, unsigned char data, in host_write_ctrl_unsafe() argument
303 while (!(err = host_write_unsafe(io_base, data)) && (timeout != 0)) { in host_write_ctrl_unsafe()
336 static void activate_ad1845_unsafe(unsigned io_base) in activate_ad1845_unsafe() argument
338 unsigned char val = sscape_read_unsafe(io_base, GA_HMCTL_REG); in activate_ad1845_unsafe()
339 sscape_write_unsafe(io_base, GA_HMCTL_REG, (val & 0xcf) | 0x10); in activate_ad1845_unsafe()
340 sscape_write_unsafe(io_base, GA_CDCFG_REG, 0x80); in activate_ad1845_unsafe()
358 static void sscape_start_dma_unsafe(unsigned io_base, enum GA_REG reg) in sscape_start_dma_unsafe() argument
360 sscape_write_unsafe(io_base, reg, in sscape_start_dma_unsafe()
361 sscape_read_unsafe(io_base, reg) | 0x01); in sscape_start_dma_unsafe()
362 sscape_write_unsafe(io_base, reg, in sscape_start_dma_unsafe()
363 sscape_read_unsafe(io_base, reg) & 0xfe); in sscape_start_dma_unsafe()
370 static int sscape_wait_dma_unsafe(unsigned io_base, enum GA_REG reg, in sscape_wait_dma_unsafe() argument
373 while (!(sscape_read_unsafe(io_base, reg) & 0x01) && (timeout != 0)) { in sscape_wait_dma_unsafe()
378 return sscape_read_unsafe(io_base, reg) & 0x01; in sscape_wait_dma_unsafe()
397 x = host_read_unsafe(s->io_base); in obp_startup_ack()
424 x = host_read_unsafe(s->io_base); in host_startup_ack()
454 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG); in upload_dma_data()
455 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val & 0x3f); in upload_dma_data()
461 sscape_write_unsafe(s->io_base, GA_DMAA_REG, val); in upload_dma_data()
462 sscape_write_unsafe(s->io_base, GA_DMAB_REG, 0x20); in upload_dma_data()
467 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG); in upload_dma_data()
468 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val | 0x80); in upload_dma_data()
483 sscape_start_dma_unsafe(s->io_base, GA_DMAA_REG); in upload_dma_data()
484 if (!sscape_wait_dma_unsafe(s->io_base, GA_DMAA_REG, 5000)) { in upload_dma_data()
497 set_host_mode_unsafe(s->io_base); in upload_dma_data()
498 outb(0x0, s->io_base); in upload_dma_data()
503 val = sscape_read_unsafe(s->io_base, GA_HMCTL_REG); in upload_dma_data()
504 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, val | 0x40); in upload_dma_data()
557 data = host_read_ctrl_unsafe(sscape->io_base, 100); in sscape_upload_bootblock()
560 sscape_write_unsafe(sscape->io_base, GA_SMCFGA_REG, 0x2f); in sscape_upload_bootblock()
646 set_host_mode_unsafe(s->io_base); in sscape_midi_put()
658 change = host_write_ctrl_unsafe(s->io_base, CMD_SET_MIDI_VOL, 100) in sscape_midi_put()
659 && host_write_ctrl_unsafe(s->io_base, new_val, 100) in sscape_midi_put()
660 && host_write_ctrl_unsafe(s->io_base, CMD_XXX_MIDI_VOL, 100) in sscape_midi_put()
661 && host_write_ctrl_unsafe(s->io_base, new_val, 100); in sscape_midi_put()
668 set_midi_mode_unsafe(s->io_base); in sscape_midi_put()
723 if ((inb(HOST_CTRL_IO(s->io_base)) & 0x78) != 0) in detect_sscape()
726 d = inb(ODIE_ADDR_IO(s->io_base)) & 0xf0; in detect_sscape()
737 outb(0xfa, ODIE_ADDR_IO(s->io_base)); in detect_sscape()
738 if ((inb(ODIE_ADDR_IO(s->io_base)) & 0x9f) != 0x0a) in detect_sscape()
741 outb(0xfe, ODIE_ADDR_IO(s->io_base)); in detect_sscape()
742 if ((inb(ODIE_ADDR_IO(s->io_base)) & 0x9f) != 0x0e) in detect_sscape()
745 outb(0xfe, ODIE_ADDR_IO(s->io_base)); in detect_sscape()
746 d = inb(ODIE_DATA_IO(s->io_base)); in detect_sscape()
751 activate_ad1845_unsafe(s->io_base); in detect_sscape()
756 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG); in detect_sscape()
757 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d | 0xc0); in detect_sscape()
774 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG) & 0x3f; in detect_sscape()
775 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d); in detect_sscape()
780 d = sscape_read_unsafe(s->io_base, GA_HMCTL_REG); in detect_sscape()
781 sscape_write_unsafe(s->io_base, GA_HMCTL_REG, d | 0xc0); in detect_sscape()
986 sscape->io_base = port[dev]; in create_sscape()
990 sscape->io_base); in create_sscape()
1014 name, sscape->io_base, irq[dev], dma[dev]); in create_sscape()
1039 sscape_write_unsafe(sscape->io_base, GA_SMCFGA_REG, 0x2e); in create_sscape()
1040 sscape_write_unsafe(sscape->io_base, GA_SMCFGB_REG, 0x00); in create_sscape()
1045 sscape_write_unsafe(sscape->io_base, GA_DMACFG_REG, 0x50); in create_sscape()
1047 sscape_write_unsafe(sscape->io_base, GA_DMAA_REG, dma_cfg); in create_sscape()
1048 sscape_write_unsafe(sscape->io_base, GA_DMAB_REG, 0x20); in create_sscape()
1051 val = sscape_read_unsafe(sscape->io_base, GA_HMCTL_REG) & 0xF7; in create_sscape()
1054 sscape_write_unsafe(sscape->io_base, GA_HMCTL_REG, val | 0x10); in create_sscape()
1055 sscape_write_unsafe(sscape->io_base, GA_INTCFG_REG, 0xf0 | mpu_irq_cfg); in create_sscape()
1056 sscape_write_unsafe(sscape->io_base, in create_sscape()
1062 sscape_write_unsafe(sscape->io_base, GA_INTENA_REG, 0x80); in create_sscape()
1106 host_write_ctrl_unsafe(sscape->io_base, in create_sscape()
1108 host_write_ctrl_unsafe(sscape->io_base, in create_sscape()
1110 host_write_ctrl_unsafe(sscape->io_base, in create_sscape()
1112 host_write_ctrl_unsafe(sscape->io_base, in create_sscape()
1114 host_write_ctrl_unsafe(sscape->io_base, in create_sscape()
1116 host_write_ctrl_unsafe(sscape->io_base, in create_sscape()
1118 host_write_ctrl_unsafe(sscape->io_base, CMD_ACK, 100); in create_sscape()
1120 set_midi_mode_unsafe(sscape->io_base); in create_sscape()