gus                19 include/sound/gus.h #define GUSP(gus, x)			((gus)->gf1.port + SNDRV_g_u_s_##x)
gus               201 include/sound/gus.h 	void (*ack)(struct snd_gus_card * gus, void *private_data);
gus               208 include/sound/gus.h 	struct snd_gus_card * gus;
gus               250 include/sound/gus.h 	void (*handler_wave) (struct snd_gus_card * gus, struct snd_gus_voice * voice);
gus               251 include/sound/gus.h 	void (*handler_volume) (struct snd_gus_card * gus, struct snd_gus_voice * voice);
gus               252 include/sound/gus.h 	void (*handler_effect) (struct snd_gus_card * gus, struct snd_gus_voice * voice);
gus               253 include/sound/gus.h 	void (*volume_change) (struct snd_gus_card * gus);
gus               330 include/sound/gus.h 	void (*interrupt_handler_midi_out) (struct snd_gus_card * gus);
gus               331 include/sound/gus.h 	void (*interrupt_handler_midi_in) (struct snd_gus_card * gus);
gus               332 include/sound/gus.h 	void (*interrupt_handler_timer1) (struct snd_gus_card * gus);
gus               333 include/sound/gus.h 	void (*interrupt_handler_timer2) (struct snd_gus_card * gus);
gus               334 include/sound/gus.h 	void (*interrupt_handler_dma_write) (struct snd_gus_card * gus);
gus               335 include/sound/gus.h 	void (*interrupt_handler_dma_read) (struct snd_gus_card * gus);
gus               372 include/sound/gus.h 	void (*dma_ack)(struct snd_gus_card * gus, void *private_data);
gus               436 include/sound/gus.h static inline void snd_gf1_select_voice(struct snd_gus_card * gus, int voice)
gus               440 include/sound/gus.h 	spin_lock_irqsave(&gus->active_voice_lock, flags);
gus               441 include/sound/gus.h 	if (voice != gus->gf1.active_voice) {
gus               442 include/sound/gus.h 		gus->gf1.active_voice = voice;
gus               443 include/sound/gus.h 		outb(voice, GUSP(gus, GF1PAGE));
gus               445 include/sound/gus.h 	spin_unlock_irqrestore(&gus->active_voice_lock, flags);
gus               448 include/sound/gus.h static inline void snd_gf1_uart_cmd(struct snd_gus_card * gus, unsigned char b)
gus               450 include/sound/gus.h 	outb(gus->gf1.uart_cmd = b, GUSP(gus, MIDICTRL));
gus               453 include/sound/gus.h static inline unsigned char snd_gf1_uart_stat(struct snd_gus_card * gus)
gus               455 include/sound/gus.h 	return inb(GUSP(gus, MIDISTAT));
gus               458 include/sound/gus.h static inline void snd_gf1_uart_put(struct snd_gus_card * gus, unsigned char b)
gus               460 include/sound/gus.h 	outb(b, GUSP(gus, MIDIDATA));
gus               463 include/sound/gus.h static inline unsigned char snd_gf1_uart_get(struct snd_gus_card * gus)
gus               465 include/sound/gus.h 	return inb(GUSP(gus, MIDIDATA));
gus               468 include/sound/gus.h extern void snd_gf1_delay(struct snd_gus_card * gus);
gus               470 include/sound/gus.h extern void snd_gf1_ctrl_stop(struct snd_gus_card * gus, unsigned char reg);
gus               472 include/sound/gus.h extern void snd_gf1_write8(struct snd_gus_card * gus, unsigned char reg, unsigned char data);
gus               473 include/sound/gus.h extern unsigned char snd_gf1_look8(struct snd_gus_card * gus, unsigned char reg);
gus               474 include/sound/gus.h static inline unsigned char snd_gf1_read8(struct snd_gus_card * gus, unsigned char reg)
gus               476 include/sound/gus.h 	return snd_gf1_look8(gus, reg | 0x80);
gus               478 include/sound/gus.h extern void snd_gf1_write16(struct snd_gus_card * gus, unsigned char reg, unsigned int data);
gus               479 include/sound/gus.h extern unsigned short snd_gf1_look16(struct snd_gus_card * gus, unsigned char reg);
gus               480 include/sound/gus.h static inline unsigned short snd_gf1_read16(struct snd_gus_card * gus, unsigned char reg)
gus               482 include/sound/gus.h 	return snd_gf1_look16(gus, reg | 0x80);
gus               484 include/sound/gus.h extern void snd_gf1_adlib_write(struct snd_gus_card * gus, unsigned char reg, unsigned char data);
gus               485 include/sound/gus.h extern void snd_gf1_dram_addr(struct snd_gus_card * gus, unsigned int addr);
gus               486 include/sound/gus.h extern void snd_gf1_poke(struct snd_gus_card * gus, unsigned int addr, unsigned char data);
gus               487 include/sound/gus.h extern unsigned char snd_gf1_peek(struct snd_gus_card * gus, unsigned int addr);
gus               488 include/sound/gus.h extern void snd_gf1_write_addr(struct snd_gus_card * gus, unsigned char reg, unsigned int addr, short w_16bit);
gus               489 include/sound/gus.h extern unsigned int snd_gf1_read_addr(struct snd_gus_card * gus, unsigned char reg, short w_16bit);
gus               490 include/sound/gus.h extern void snd_gf1_i_ctrl_stop(struct snd_gus_card * gus, unsigned char reg);
gus               491 include/sound/gus.h extern void snd_gf1_i_write8(struct snd_gus_card * gus, unsigned char reg, unsigned char data);
gus               492 include/sound/gus.h extern unsigned char snd_gf1_i_look8(struct snd_gus_card * gus, unsigned char reg);
gus               493 include/sound/gus.h extern void snd_gf1_i_write16(struct snd_gus_card * gus, unsigned char reg, unsigned int data);
gus               494 include/sound/gus.h static inline unsigned char snd_gf1_i_read8(struct snd_gus_card * gus, unsigned char reg)
gus               496 include/sound/gus.h 	return snd_gf1_i_look8(gus, reg | 0x80);
gus               498 include/sound/gus.h extern unsigned short snd_gf1_i_look16(struct snd_gus_card * gus, unsigned char reg);
gus               499 include/sound/gus.h static inline unsigned short snd_gf1_i_read16(struct snd_gus_card * gus, unsigned char reg)
gus               501 include/sound/gus.h 	return snd_gf1_i_look16(gus, reg | 0x80);
gus               504 include/sound/gus.h extern void snd_gf1_select_active_voices(struct snd_gus_card * gus);
gus               517 include/sound/gus.h extern irqreturn_t snd_gf1_lfo_effect_interrupt(struct snd_gus_card * gus, snd_gf1_voice_t * voice);
gus               519 include/sound/gus.h extern void snd_gf1_lfo_init(struct snd_gus_card * gus);
gus               520 include/sound/gus.h extern void snd_gf1_lfo_done(struct snd_gus_card * gus);
gus               521 include/sound/gus.h extern void snd_gf1_lfo_program(struct snd_gus_card * gus, int voice, int lfo_type, struct _SND_IW_LFO_PROGRAM *program);
gus               522 include/sound/gus.h extern void snd_gf1_lfo_enable(struct snd_gus_card * gus, int voice, int lfo_type);
gus               523 include/sound/gus.h extern void snd_gf1_lfo_disable(struct snd_gus_card * gus, int voice, int lfo_type);
gus               524 include/sound/gus.h extern void snd_gf1_lfo_change_freq(struct snd_gus_card * gus, int voice, int lfo_type, int freq);
gus               525 include/sound/gus.h extern void snd_gf1_lfo_change_depth(struct snd_gus_card * gus, int voice, int lfo_type, int depth);
gus               526 include/sound/gus.h extern void snd_gf1_lfo_setup(struct snd_gus_card * gus, int voice, int lfo_type, int freq, int current_depth, int depth, int sweep, int shape);
gus               527 include/sound/gus.h extern void snd_gf1_lfo_shutdown(struct snd_gus_card * gus, int voice, int lfo_type);
gus               529 include/sound/gus.h extern void snd_gf1_lfo_command(struct snd_gus_card * gus, int voice, unsigned char *command);
gus               541 include/sound/gus.h int snd_gf1_mem_init(struct snd_gus_card * gus);
gus               542 include/sound/gus.h int snd_gf1_mem_done(struct snd_gus_card * gus);
gus               546 include/sound/gus.h int snd_gf1_mem_proc_init(struct snd_gus_card * gus);
gus               550 include/sound/gus.h int snd_gf1_dma_init(struct snd_gus_card * gus);
gus               551 include/sound/gus.h int snd_gf1_dma_done(struct snd_gus_card * gus);
gus               552 include/sound/gus.h int snd_gf1_dma_transfer_block(struct snd_gus_card * gus,
gus               560 include/sound/gus.h unsigned short snd_gf1_translate_freq(struct snd_gus_card * gus, unsigned int freq2);
gus               564 include/sound/gus.h void snd_gf1_set_default_handlers(struct snd_gus_card * gus, unsigned int what);
gus               565 include/sound/gus.h void snd_gf1_smart_stop_voice(struct snd_gus_card * gus, unsigned short voice);
gus               566 include/sound/gus.h void snd_gf1_stop_voice(struct snd_gus_card * gus, unsigned short voice);
gus               567 include/sound/gus.h void snd_gf1_stop_voices(struct snd_gus_card * gus, unsigned short v_min, unsigned short v_max);
gus               568 include/sound/gus.h struct snd_gus_voice *snd_gf1_alloc_voice(struct snd_gus_card * gus, int type, int client, int port);
gus               569 include/sound/gus.h void snd_gf1_free_voice(struct snd_gus_card * gus, struct snd_gus_voice *voice);
gus               570 include/sound/gus.h int snd_gf1_start(struct snd_gus_card * gus);
gus               571 include/sound/gus.h int snd_gf1_stop(struct snd_gus_card * gus);
gus               575 include/sound/gus.h int snd_gf1_new_mixer(struct snd_gus_card * gus);
gus               579 include/sound/gus.h int snd_gf1_pcm_new(struct snd_gus_card *gus, int pcm_dev, int control_index);
gus               582 include/sound/gus.h extern void snd_gf1_print_voice_registers(struct snd_gus_card * gus);
gus               587 include/sound/gus.h int snd_gus_use_inc(struct snd_gus_card * gus);
gus               588 include/sound/gus.h void snd_gus_use_dec(struct snd_gus_card * gus);
gus               597 include/sound/gus.h int snd_gus_initialize(struct snd_gus_card * gus);
gus               603 include/sound/gus.h void snd_gus_irq_profile_init(struct snd_gus_card *gus);
gus               608 include/sound/gus.h int snd_gf1_rawmidi_new(struct snd_gus_card *gus, int device);
gus               611 include/sound/gus.h int snd_gus_dram_write(struct snd_gus_card *gus, char __user *ptr,
gus               613 include/sound/gus.h int snd_gus_dram_read(struct snd_gus_card *gus, char __user *ptr,
gus                12 sound/isa/gus/gus_dma.c static void snd_gf1_dma_ack(struct snd_gus_card * gus)
gus                16 sound/isa/gus/gus_dma.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                17 sound/isa/gus/gus_dma.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_DRAM_DMA_CONTROL, 0x00);
gus                18 sound/isa/gus/gus_dma.c 	snd_gf1_look8(gus, SNDRV_GF1_GB_DRAM_DMA_CONTROL);
gus                19 sound/isa/gus/gus_dma.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                22 sound/isa/gus/gus_dma.c static void snd_gf1_dma_program(struct snd_gus_card * gus,
gus                36 sound/isa/gus/gus_dma.c 	if (gus->gf1.dma1 > 3) {
gus                37 sound/isa/gus/gus_dma.c 		if (gus->gf1.enh_mode) {
gus                58 sound/isa/gus/gus_dma.c 	if (gus->gf1.dma1 > 3) {
gus                63 sound/isa/gus/gus_dma.c 	snd_gf1_dma_ack(gus);
gus                64 sound/isa/gus/gus_dma.c 	snd_dma_program(gus->gf1.dma1, buf_addr, count, dma_cmd & SNDRV_GF1_DMA_READ ? DMA_MODE_READ : DMA_MODE_WRITE);
gus                69 sound/isa/gus/gus_dma.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                70 sound/isa/gus/gus_dma.c 	if (gus->gf1.enh_mode) {
gus                72 sound/isa/gus/gus_dma.c 		snd_gf1_write16(gus, SNDRV_GF1_GW_DRAM_DMA_LOW, (unsigned short) (address >> 4));
gus                73 sound/isa/gus/gus_dma.c 		snd_gf1_write8(gus, SNDRV_GF1_GB_DRAM_DMA_HIGH, (unsigned char) address_high);
gus                75 sound/isa/gus/gus_dma.c 		snd_gf1_write16(gus, SNDRV_GF1_GW_DRAM_DMA_LOW, (unsigned short) (address >> 4));
gus                76 sound/isa/gus/gus_dma.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_DRAM_DMA_CONTROL, dma_cmd);
gus                77 sound/isa/gus/gus_dma.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                80 sound/isa/gus/gus_dma.c static struct snd_gf1_dma_block *snd_gf1_dma_next_block(struct snd_gus_card * gus)
gus                85 sound/isa/gus/gus_dma.c 	if (gus->gf1.dma_data_pcm) {
gus                86 sound/isa/gus/gus_dma.c 		block = gus->gf1.dma_data_pcm;
gus                87 sound/isa/gus/gus_dma.c 		if (gus->gf1.dma_data_pcm_last == block) {
gus                88 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm =
gus                89 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm_last = NULL;
gus                91 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm = block->next;
gus                93 sound/isa/gus/gus_dma.c 	} else if (gus->gf1.dma_data_synth) {
gus                94 sound/isa/gus/gus_dma.c 		block = gus->gf1.dma_data_synth;
gus                95 sound/isa/gus/gus_dma.c 		if (gus->gf1.dma_data_synth_last == block) {
gus                96 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth =
gus                97 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth_last = NULL;
gus                99 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth = block->next;
gus               105 sound/isa/gus/gus_dma.c 		gus->gf1.dma_ack = block->ack;
gus               106 sound/isa/gus/gus_dma.c 		gus->gf1.dma_private_data = block->private_data;
gus               112 sound/isa/gus/gus_dma.c static void snd_gf1_dma_interrupt(struct snd_gus_card * gus)
gus               116 sound/isa/gus/gus_dma.c 	snd_gf1_dma_ack(gus);
gus               117 sound/isa/gus/gus_dma.c 	if (gus->gf1.dma_ack)
gus               118 sound/isa/gus/gus_dma.c 		gus->gf1.dma_ack(gus, gus->gf1.dma_private_data);
gus               119 sound/isa/gus/gus_dma.c 	spin_lock(&gus->dma_lock);
gus               120 sound/isa/gus/gus_dma.c 	if (gus->gf1.dma_data_pcm == NULL &&
gus               121 sound/isa/gus/gus_dma.c 	    gus->gf1.dma_data_synth == NULL) {
gus               122 sound/isa/gus/gus_dma.c 	    	gus->gf1.dma_ack = NULL;
gus               123 sound/isa/gus/gus_dma.c 		gus->gf1.dma_flags &= ~SNDRV_GF1_DMA_TRIGGER;
gus               124 sound/isa/gus/gus_dma.c 		spin_unlock(&gus->dma_lock);
gus               127 sound/isa/gus/gus_dma.c 	block = snd_gf1_dma_next_block(gus);
gus               128 sound/isa/gus/gus_dma.c 	spin_unlock(&gus->dma_lock);
gus               129 sound/isa/gus/gus_dma.c 	snd_gf1_dma_program(gus, block->addr, block->buf_addr, block->count, (unsigned short) block->cmd);
gus               138 sound/isa/gus/gus_dma.c int snd_gf1_dma_init(struct snd_gus_card * gus)
gus               140 sound/isa/gus/gus_dma.c 	mutex_lock(&gus->dma_mutex);
gus               141 sound/isa/gus/gus_dma.c 	gus->gf1.dma_shared++;
gus               142 sound/isa/gus/gus_dma.c 	if (gus->gf1.dma_shared > 1) {
gus               143 sound/isa/gus/gus_dma.c 		mutex_unlock(&gus->dma_mutex);
gus               146 sound/isa/gus/gus_dma.c 	gus->gf1.interrupt_handler_dma_write = snd_gf1_dma_interrupt;
gus               147 sound/isa/gus/gus_dma.c 	gus->gf1.dma_data_pcm = 
gus               148 sound/isa/gus/gus_dma.c 	gus->gf1.dma_data_pcm_last =
gus               149 sound/isa/gus/gus_dma.c 	gus->gf1.dma_data_synth = 
gus               150 sound/isa/gus/gus_dma.c 	gus->gf1.dma_data_synth_last = NULL;
gus               151 sound/isa/gus/gus_dma.c 	mutex_unlock(&gus->dma_mutex);
gus               155 sound/isa/gus/gus_dma.c int snd_gf1_dma_done(struct snd_gus_card * gus)
gus               159 sound/isa/gus/gus_dma.c 	mutex_lock(&gus->dma_mutex);
gus               160 sound/isa/gus/gus_dma.c 	gus->gf1.dma_shared--;
gus               161 sound/isa/gus/gus_dma.c 	if (!gus->gf1.dma_shared) {
gus               162 sound/isa/gus/gus_dma.c 		snd_dma_disable(gus->gf1.dma1);
gus               163 sound/isa/gus/gus_dma.c 		snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_DMA_WRITE);
gus               164 sound/isa/gus/gus_dma.c 		snd_gf1_dma_ack(gus);
gus               165 sound/isa/gus/gus_dma.c 		while ((block = gus->gf1.dma_data_pcm)) {
gus               166 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm = block->next;
gus               169 sound/isa/gus/gus_dma.c 		while ((block = gus->gf1.dma_data_synth)) {
gus               170 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth = block->next;
gus               173 sound/isa/gus/gus_dma.c 		gus->gf1.dma_data_pcm_last =
gus               174 sound/isa/gus/gus_dma.c 		gus->gf1.dma_data_synth_last = NULL;
gus               176 sound/isa/gus/gus_dma.c 	mutex_unlock(&gus->dma_mutex);
gus               180 sound/isa/gus/gus_dma.c int snd_gf1_dma_transfer_block(struct snd_gus_card * gus,
gus               200 sound/isa/gus/gus_dma.c 		    (long)gus->gf1.dma_data_pcm_last);
gus               202 sound/isa/gus/gus_dma.c 		    (long)gus->gf1.dma_data_pcm);
gus               204 sound/isa/gus/gus_dma.c 	spin_lock_irqsave(&gus->dma_lock, flags);
gus               206 sound/isa/gus/gus_dma.c 		if (gus->gf1.dma_data_synth_last) {
gus               207 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth_last->next = block;
gus               208 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth_last = block;
gus               210 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth = 
gus               211 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_synth_last = block;
gus               214 sound/isa/gus/gus_dma.c 		if (gus->gf1.dma_data_pcm_last) {
gus               215 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm_last->next = block;
gus               216 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm_last = block;
gus               218 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm = 
gus               219 sound/isa/gus/gus_dma.c 			gus->gf1.dma_data_pcm_last = block;
gus               222 sound/isa/gus/gus_dma.c 	if (!(gus->gf1.dma_flags & SNDRV_GF1_DMA_TRIGGER)) {
gus               223 sound/isa/gus/gus_dma.c 		gus->gf1.dma_flags |= SNDRV_GF1_DMA_TRIGGER;
gus               224 sound/isa/gus/gus_dma.c 		block = snd_gf1_dma_next_block(gus);
gus               225 sound/isa/gus/gus_dma.c 		spin_unlock_irqrestore(&gus->dma_lock, flags);
gus               228 sound/isa/gus/gus_dma.c 		snd_gf1_dma_program(gus, block->addr, block->buf_addr, block->count, (unsigned short) block->cmd);
gus               232 sound/isa/gus/gus_dma.c 	spin_unlock_irqrestore(&gus->dma_lock, flags);
gus                13 sound/isa/gus/gus_dram.c static int snd_gus_dram_poke(struct snd_gus_card *gus, char __user *_buffer,
gus                24 sound/isa/gus/gus_dram.c 		if (gus->interwave) {
gus                25 sound/isa/gus/gus_dram.c 			spin_lock_irqsave(&gus->reg_lock, flags);
gus                26 sound/isa/gus/gus_dram.c 			snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x01);
gus                27 sound/isa/gus/gus_dram.c 			snd_gf1_dram_addr(gus, address);
gus                28 sound/isa/gus/gus_dram.c 			outsb(GUSP(gus, DRAM), buffer, size1);
gus                29 sound/isa/gus/gus_dram.c 			spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                35 sound/isa/gus/gus_dram.c 				snd_gf1_poke(gus, address++, *pbuffer++);
gus                44 sound/isa/gus/gus_dram.c int snd_gus_dram_write(struct snd_gus_card *gus, char __user *buffer,
gus                47 sound/isa/gus/gus_dram.c 	return snd_gus_dram_poke(gus, buffer, address, size);
gus                50 sound/isa/gus/gus_dram.c static int snd_gus_dram_peek(struct snd_gus_card *gus, char __user *_buffer,
gus                60 sound/isa/gus/gus_dram.c 		if (gus->interwave) {
gus                61 sound/isa/gus/gus_dram.c 			spin_lock_irqsave(&gus->reg_lock, flags);
gus                62 sound/isa/gus/gus_dram.c 			snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, rom ? 0x03 : 0x01);
gus                63 sound/isa/gus/gus_dram.c 			snd_gf1_dram_addr(gus, address);
gus                64 sound/isa/gus/gus_dram.c 			insb(GUSP(gus, DRAM), buffer, size1);
gus                65 sound/isa/gus/gus_dram.c 			snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x01);
gus                66 sound/isa/gus/gus_dram.c 			spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                72 sound/isa/gus/gus_dram.c 				*pbuffer++ = snd_gf1_peek(gus, address++);
gus                82 sound/isa/gus/gus_dram.c int snd_gus_dram_read(struct snd_gus_card *gus, char __user *buffer,
gus                86 sound/isa/gus/gus_dram.c 	return snd_gus_dram_peek(gus, buffer, address, size, rom);
gus                12 sound/isa/gus/gus_io.c void snd_gf1_delay(struct snd_gus_card * gus)
gus                18 sound/isa/gus/gus_io.c 		inb(GUSP(gus, DRAM));
gus                31 sound/isa/gus/gus_io.c static inline void __snd_gf1_ctrl_stop(struct snd_gus_card * gus, unsigned char reg)
gus                35 sound/isa/gus/gus_io.c 	outb(reg | 0x80, gus->gf1.reg_regsel);
gus                37 sound/isa/gus/gus_io.c 	value = inb(gus->gf1.reg_data8);
gus                39 sound/isa/gus/gus_io.c 	outb(reg, gus->gf1.reg_regsel);
gus                41 sound/isa/gus/gus_io.c 	outb((value | 0x03) & ~(0x80 | 0x20), gus->gf1.reg_data8);
gus                45 sound/isa/gus/gus_io.c static inline void __snd_gf1_write8(struct snd_gus_card * gus,
gus                49 sound/isa/gus/gus_io.c 	outb(reg, gus->gf1.reg_regsel);
gus                51 sound/isa/gus/gus_io.c 	outb(data, gus->gf1.reg_data8);
gus                55 sound/isa/gus/gus_io.c static inline unsigned char __snd_gf1_look8(struct snd_gus_card * gus,
gus                58 sound/isa/gus/gus_io.c 	outb(reg, gus->gf1.reg_regsel);
gus                60 sound/isa/gus/gus_io.c 	return inb(gus->gf1.reg_data8);
gus                63 sound/isa/gus/gus_io.c static inline void __snd_gf1_write16(struct snd_gus_card * gus,
gus                66 sound/isa/gus/gus_io.c 	outb(reg, gus->gf1.reg_regsel);
gus                68 sound/isa/gus/gus_io.c 	outw((unsigned short) data, gus->gf1.reg_data16);
gus                72 sound/isa/gus/gus_io.c static inline unsigned short __snd_gf1_look16(struct snd_gus_card * gus,
gus                75 sound/isa/gus/gus_io.c 	outb(reg, gus->gf1.reg_regsel);
gus                77 sound/isa/gus/gus_io.c 	return inw(gus->gf1.reg_data16);
gus                80 sound/isa/gus/gus_io.c static inline void __snd_gf1_adlib_write(struct snd_gus_card * gus,
gus                83 sound/isa/gus/gus_io.c 	outb(reg, gus->gf1.reg_timerctrl);
gus                84 sound/isa/gus/gus_io.c 	inb(gus->gf1.reg_timerctrl);
gus                85 sound/isa/gus/gus_io.c 	inb(gus->gf1.reg_timerctrl);
gus                86 sound/isa/gus/gus_io.c 	outb(data, gus->gf1.reg_timerdata);
gus                87 sound/isa/gus/gus_io.c 	inb(gus->gf1.reg_timerctrl);
gus                88 sound/isa/gus/gus_io.c 	inb(gus->gf1.reg_timerctrl);
gus                91 sound/isa/gus/gus_io.c static inline void __snd_gf1_write_addr(struct snd_gus_card * gus, unsigned char reg,
gus                94 sound/isa/gus/gus_io.c 	if (gus->gf1.enh_mode) {
gus                97 sound/isa/gus/gus_io.c 		__snd_gf1_write8(gus, SNDRV_GF1_VB_UPPER_ADDRESS, (unsigned char) ((addr >> 26) & 0x03));
gus               100 sound/isa/gus/gus_io.c 	__snd_gf1_write16(gus, reg, (unsigned short) (addr >> 11));
gus               101 sound/isa/gus/gus_io.c 	__snd_gf1_write16(gus, reg + 1, (unsigned short) (addr << 5));
gus               104 sound/isa/gus/gus_io.c static inline unsigned int __snd_gf1_read_addr(struct snd_gus_card * gus,
gus               109 sound/isa/gus/gus_io.c 	res = ((unsigned int) __snd_gf1_look16(gus, reg | 0x80) << 11) & 0xfff800;
gus               110 sound/isa/gus/gus_io.c 	res |= ((unsigned int) __snd_gf1_look16(gus, (reg + 1) | 0x80) >> 5) & 0x0007ff;
gus               111 sound/isa/gus/gus_io.c 	if (gus->gf1.enh_mode) {
gus               112 sound/isa/gus/gus_io.c 		res |= (unsigned int) __snd_gf1_look8(gus, SNDRV_GF1_VB_UPPER_ADDRESS | 0x80) << 26;
gus               125 sound/isa/gus/gus_io.c void snd_gf1_ctrl_stop(struct snd_gus_card * gus, unsigned char reg)
gus               127 sound/isa/gus/gus_io.c 	__snd_gf1_ctrl_stop(gus, reg);
gus               130 sound/isa/gus/gus_io.c void snd_gf1_write8(struct snd_gus_card * gus,
gus               134 sound/isa/gus/gus_io.c 	__snd_gf1_write8(gus, reg, data);
gus               137 sound/isa/gus/gus_io.c unsigned char snd_gf1_look8(struct snd_gus_card * gus, unsigned char reg)
gus               139 sound/isa/gus/gus_io.c 	return __snd_gf1_look8(gus, reg);
gus               142 sound/isa/gus/gus_io.c void snd_gf1_write16(struct snd_gus_card * gus,
gus               146 sound/isa/gus/gus_io.c 	__snd_gf1_write16(gus, reg, data);
gus               149 sound/isa/gus/gus_io.c unsigned short snd_gf1_look16(struct snd_gus_card * gus, unsigned char reg)
gus               151 sound/isa/gus/gus_io.c 	return __snd_gf1_look16(gus, reg);
gus               154 sound/isa/gus/gus_io.c void snd_gf1_adlib_write(struct snd_gus_card * gus,
gus               158 sound/isa/gus/gus_io.c 	__snd_gf1_adlib_write(gus, reg, data);
gus               161 sound/isa/gus/gus_io.c void snd_gf1_write_addr(struct snd_gus_card * gus, unsigned char reg,
gus               164 sound/isa/gus/gus_io.c 	__snd_gf1_write_addr(gus, reg, addr, w_16bit);
gus               167 sound/isa/gus/gus_io.c unsigned int snd_gf1_read_addr(struct snd_gus_card * gus,
gus               171 sound/isa/gus/gus_io.c 	return __snd_gf1_read_addr(gus, reg, w_16bit);
gus               178 sound/isa/gus/gus_io.c void snd_gf1_i_ctrl_stop(struct snd_gus_card * gus, unsigned char reg)
gus               182 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               183 sound/isa/gus/gus_io.c 	__snd_gf1_ctrl_stop(gus, reg);
gus               184 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               187 sound/isa/gus/gus_io.c void snd_gf1_i_write8(struct snd_gus_card * gus,
gus               193 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               194 sound/isa/gus/gus_io.c 	__snd_gf1_write8(gus, reg, data);
gus               195 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               198 sound/isa/gus/gus_io.c unsigned char snd_gf1_i_look8(struct snd_gus_card * gus, unsigned char reg)
gus               203 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               204 sound/isa/gus/gus_io.c 	res = __snd_gf1_look8(gus, reg);
gus               205 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               209 sound/isa/gus/gus_io.c void snd_gf1_i_write16(struct snd_gus_card * gus,
gus               215 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               216 sound/isa/gus/gus_io.c 	__snd_gf1_write16(gus, reg, data);
gus               217 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               220 sound/isa/gus/gus_io.c unsigned short snd_gf1_i_look16(struct snd_gus_card * gus, unsigned char reg)
gus               225 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               226 sound/isa/gus/gus_io.c 	res = __snd_gf1_look16(gus, reg);
gus               227 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               233 sound/isa/gus/gus_io.c void snd_gf1_i_adlib_write(struct snd_gus_card * gus,
gus               239 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               240 sound/isa/gus/gus_io.c 	__snd_gf1_adlib_write(gus, reg, data);
gus               241 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               244 sound/isa/gus/gus_io.c void snd_gf1_i_write_addr(struct snd_gus_card * gus, unsigned char reg,
gus               249 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               250 sound/isa/gus/gus_io.c 	__snd_gf1_write_addr(gus, reg, addr, w_16bit);
gus               251 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               257 sound/isa/gus/gus_io.c static unsigned int snd_gf1_i_read_addr(struct snd_gus_card * gus,
gus               263 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               264 sound/isa/gus/gus_io.c 	res = __snd_gf1_read_addr(gus, reg, w_16bit);
gus               265 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               274 sound/isa/gus/gus_io.c void snd_gf1_dram_addr(struct snd_gus_card * gus, unsigned int addr)
gus               276 sound/isa/gus/gus_io.c 	outb(0x43, gus->gf1.reg_regsel);
gus               278 sound/isa/gus/gus_io.c 	outw((unsigned short) addr, gus->gf1.reg_data16);
gus               280 sound/isa/gus/gus_io.c 	outb(0x44, gus->gf1.reg_regsel);
gus               282 sound/isa/gus/gus_io.c 	outb((unsigned char) (addr >> 16), gus->gf1.reg_data8);
gus               286 sound/isa/gus/gus_io.c void snd_gf1_poke(struct snd_gus_card * gus, unsigned int addr, unsigned char data)
gus               290 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               291 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO_LOW, gus->gf1.reg_regsel);
gus               293 sound/isa/gus/gus_io.c 	outw((unsigned short) addr, gus->gf1.reg_data16);
gus               295 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GB_DRAM_IO_HIGH, gus->gf1.reg_regsel);
gus               297 sound/isa/gus/gus_io.c 	outb((unsigned char) (addr >> 16), gus->gf1.reg_data8);
gus               299 sound/isa/gus/gus_io.c 	outb(data, gus->gf1.reg_dram);
gus               300 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               303 sound/isa/gus/gus_io.c unsigned char snd_gf1_peek(struct snd_gus_card * gus, unsigned int addr)
gus               308 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               309 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO_LOW, gus->gf1.reg_regsel);
gus               311 sound/isa/gus/gus_io.c 	outw((unsigned short) addr, gus->gf1.reg_data16);
gus               313 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GB_DRAM_IO_HIGH, gus->gf1.reg_regsel);
gus               315 sound/isa/gus/gus_io.c 	outb((unsigned char) (addr >> 16), gus->gf1.reg_data8);
gus               317 sound/isa/gus/gus_io.c 	res = inb(gus->gf1.reg_dram);
gus               318 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               324 sound/isa/gus/gus_io.c void snd_gf1_pokew(struct snd_gus_card * gus, unsigned int addr, unsigned short data)
gus               329 sound/isa/gus/gus_io.c 	if (!gus->interwave)
gus               332 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               333 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO_LOW, gus->gf1.reg_regsel);
gus               335 sound/isa/gus/gus_io.c 	outw((unsigned short) addr, gus->gf1.reg_data16);
gus               337 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GB_DRAM_IO_HIGH, gus->gf1.reg_regsel);
gus               339 sound/isa/gus/gus_io.c 	outb((unsigned char) (addr >> 16), gus->gf1.reg_data8);
gus               341 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO16, gus->gf1.reg_regsel);
gus               343 sound/isa/gus/gus_io.c 	outw(data, gus->gf1.reg_data16);
gus               344 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               347 sound/isa/gus/gus_io.c unsigned short snd_gf1_peekw(struct snd_gus_card * gus, unsigned int addr)
gus               353 sound/isa/gus/gus_io.c 	if (!gus->interwave)
gus               356 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               357 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO_LOW, gus->gf1.reg_regsel);
gus               359 sound/isa/gus/gus_io.c 	outw((unsigned short) addr, gus->gf1.reg_data16);
gus               361 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GB_DRAM_IO_HIGH, gus->gf1.reg_regsel);
gus               363 sound/isa/gus/gus_io.c 	outb((unsigned char) (addr >> 16), gus->gf1.reg_data8);
gus               365 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO16, gus->gf1.reg_regsel);
gus               367 sound/isa/gus/gus_io.c 	res = inw(gus->gf1.reg_data16);
gus               368 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               372 sound/isa/gus/gus_io.c void snd_gf1_dram_setmem(struct snd_gus_card * gus, unsigned int addr,
gus               379 sound/isa/gus/gus_io.c 	if (!gus->interwave)
gus               384 sound/isa/gus/gus_io.c 	port = GUSP(gus, GF1DATALOW);
gus               385 sound/isa/gus/gus_io.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               386 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO_LOW, gus->gf1.reg_regsel);
gus               388 sound/isa/gus/gus_io.c 	outw((unsigned short) addr, gus->gf1.reg_data16);
gus               390 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GB_DRAM_IO_HIGH, gus->gf1.reg_regsel);
gus               392 sound/isa/gus/gus_io.c 	outb((unsigned char) (addr >> 16), gus->gf1.reg_data8);
gus               394 sound/isa/gus/gus_io.c 	outb(SNDRV_GF1_GW_DRAM_IO16, gus->gf1.reg_regsel);
gus               397 sound/isa/gus/gus_io.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               402 sound/isa/gus/gus_io.c void snd_gf1_select_active_voices(struct snd_gus_card * gus)
gus               412 sound/isa/gus/gus_io.c 	voices = gus->gf1.active_voices;
gus               417 sound/isa/gus/gus_io.c 	if (gus->gf1.enh_mode)
gus               419 sound/isa/gus/gus_io.c 	gus->gf1.active_voices = voices;
gus               420 sound/isa/gus/gus_io.c 	gus->gf1.playback_freq =
gus               421 sound/isa/gus/gus_io.c 	    gus->gf1.enh_mode ? 44100 : voices_tbl[voices - 14];
gus               422 sound/isa/gus/gus_io.c 	if (!gus->gf1.enh_mode) {
gus               423 sound/isa/gus/gus_io.c 		snd_gf1_i_write8(gus, SNDRV_GF1_GB_ACTIVE_VOICES, 0xc0 | (voices - 1));
gus               430 sound/isa/gus/gus_io.c void snd_gf1_print_voice_registers(struct snd_gus_card * gus)
gus               435 sound/isa/gus/gus_io.c 	voice = gus->gf1.active_voice;
gus               436 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -%i- GF1  voice ctrl, ramp ctrl  = 0x%x, 0x%x\n", voice, ctrl = snd_gf1_i_read8(gus, 0), snd_gf1_i_read8(gus, 0x0d));
gus               437 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -%i- GF1  frequency              = 0x%x\n", voice, snd_gf1_i_read16(gus, 1));
gus               438 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -%i- GF1  loop start, end        = 0x%x (0x%x), 0x%x (0x%x)\n", voice, snd_gf1_i_read_addr(gus, 2, ctrl & 4), snd_gf1_i_read_addr(gus, 2, (ctrl & 4) ^ 4), snd_gf1_i_read_addr(gus, 4, ctrl & 4), snd_gf1_i_read_addr(gus, 4, (ctrl & 4) ^ 4));
gus               439 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -%i- GF1  ramp start, end, rate  = 0x%x, 0x%x, 0x%x\n", voice, snd_gf1_i_read8(gus, 7), snd_gf1_i_read8(gus, 8), snd_gf1_i_read8(gus, 6));
gus               440 sound/isa/gus/gus_io.c 	printk(KERN_INFO" -%i- GF1  volume                 = 0x%x\n", voice, snd_gf1_i_read16(gus, 9));
gus               441 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -%i- GF1  position               = 0x%x (0x%x)\n", voice, snd_gf1_i_read_addr(gus, 0x0a, ctrl & 4), snd_gf1_i_read_addr(gus, 0x0a, (ctrl & 4) ^ 4));
gus               442 sound/isa/gus/gus_io.c 	if (gus->interwave && snd_gf1_i_read8(gus, 0x19) & 0x01) {	/* enhanced mode */
gus               443 sound/isa/gus/gus_io.c 		mode = snd_gf1_i_read8(gus, 0x15);
gus               446 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 effect address         = 0x%x\n", voice, snd_gf1_i_read_addr(gus, 0x11, ctrl & 4));
gus               447 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 effect volume          = 0x%x\n", voice, snd_gf1_i_read16(gus, 0x16));
gus               448 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 effect volume final    = 0x%x\n", voice, snd_gf1_i_read16(gus, 0x1d));
gus               449 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 effect accumulator     = 0x%x\n", voice, snd_gf1_i_read8(gus, 0x14));
gus               452 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 left offset            = 0x%x (%i)\n", voice, snd_gf1_i_read16(gus, 0x13), snd_gf1_i_read16(gus, 0x13) >> 4);
gus               453 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 left offset final      = 0x%x (%i)\n", voice, snd_gf1_i_read16(gus, 0x1c), snd_gf1_i_read16(gus, 0x1c) >> 4);
gus               454 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 right offset           = 0x%x (%i)\n", voice, snd_gf1_i_read16(gus, 0x0c), snd_gf1_i_read16(gus, 0x0c) >> 4);
gus               455 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GFA1 right offset final     = 0x%x (%i)\n", voice, snd_gf1_i_read16(gus, 0x1b), snd_gf1_i_read16(gus, 0x1b) >> 4);
gus               457 sound/isa/gus/gus_io.c 			printk(KERN_INFO " -%i- GF1  pan                    = 0x%x\n", voice, snd_gf1_i_read8(gus, 0x0c));
gus               459 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -%i- GF1  pan                    = 0x%x\n", voice, snd_gf1_i_read8(gus, 0x0c));
gus               464 sound/isa/gus/gus_io.c void snd_gf1_print_global_registers(struct snd_gus_card * gus)
gus               468 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -G- GF1 active voices            = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_ACTIVE_VOICES));
gus               469 sound/isa/gus/gus_io.c 	if (gus->interwave) {
gus               470 sound/isa/gus/gus_io.c 		global_mode = snd_gf1_i_read8(gus, SNDRV_GF1_GB_GLOBAL_MODE);
gus               474 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -G- GF1 LFO base                 = 0x%x\n", snd_gf1_i_look16(gus, SNDRV_GF1_GW_LFO_BASE));
gus               475 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -G- GF1 voices IRQ read          = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_VOICES_IRQ_READ));
gus               476 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -G- GF1 DRAM DMA control         = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_DRAM_DMA_CONTROL));
gus               477 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -G- GF1 DRAM DMA high/low        = 0x%x/0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_DRAM_DMA_HIGH), snd_gf1_i_read16(gus, SNDRV_GF1_GW_DRAM_DMA_LOW));
gus               478 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -G- GF1 DRAM IO high/low         = 0x%x/0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_DRAM_IO_HIGH), snd_gf1_i_read16(gus, SNDRV_GF1_GW_DRAM_IO_LOW));
gus               479 sound/isa/gus/gus_io.c 	if (!gus->interwave)
gus               480 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -G- GF1 record DMA control       = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL));
gus               481 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -G- GF1 DRAM IO 16               = 0x%x\n", snd_gf1_i_look16(gus, SNDRV_GF1_GW_DRAM_IO16));
gus               482 sound/isa/gus/gus_io.c 	if (gus->gf1.enh_mode) {
gus               483 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -G- GFA1 memory config           = 0x%x\n", snd_gf1_i_look16(gus, SNDRV_GF1_GW_MEMORY_CONFIG));
gus               484 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -G- GFA1 memory control          = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_MEMORY_CONTROL));
gus               485 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -G- GFA1 FIFO record base        = 0x%x\n", snd_gf1_i_look16(gus, SNDRV_GF1_GW_FIFO_RECORD_BASE_ADDR));
gus               486 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -G- GFA1 FIFO playback base      = 0x%x\n", snd_gf1_i_look16(gus, SNDRV_GF1_GW_FIFO_PLAY_BASE_ADDR));
gus               487 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -G- GFA1 interleave control      = 0x%x\n", snd_gf1_i_look16(gus, SNDRV_GF1_GW_INTERLEAVE));
gus               491 sound/isa/gus/gus_io.c void snd_gf1_print_setup_registers(struct snd_gus_card * gus)
gus               493 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- mix control                  = 0x%x\n", inb(GUSP(gus, MIXCNTRLREG)));
gus               494 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- IRQ status                   = 0x%x\n", inb(GUSP(gus, IRQSTAT)));
gus               495 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- timer control                = 0x%x\n", inb(GUSP(gus, TIMERCNTRL)));
gus               496 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- timer data                   = 0x%x\n", inb(GUSP(gus, TIMERDATA)));
gus               497 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- status read                  = 0x%x\n", inb(GUSP(gus, REGCNTRLS)));
gus               498 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- Sound Blaster control        = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL));
gus               499 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- AdLib timer 1/2              = 0x%x/0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_ADLIB_TIMER_1), snd_gf1_i_look8(gus, SNDRV_GF1_GB_ADLIB_TIMER_2));
gus               500 sound/isa/gus/gus_io.c 	printk(KERN_INFO " -S- reset                        = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET));
gus               501 sound/isa/gus/gus_io.c 	if (gus->interwave) {
gus               502 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -S- compatibility                = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_COMPATIBILITY));
gus               503 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -S- decode control               = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_DECODE_CONTROL));
gus               504 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -S- version number               = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_VERSION_NUMBER));
gus               505 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -S- MPU-401 emul. control A/B    = 0x%x/0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_MPU401_CONTROL_A), snd_gf1_i_look8(gus, SNDRV_GF1_GB_MPU401_CONTROL_B));
gus               506 sound/isa/gus/gus_io.c 		printk(KERN_INFO " -S- emulation IRQ                = 0x%x\n", snd_gf1_i_look8(gus, SNDRV_GF1_GB_EMULATION_IRQ));
gus               510 sound/isa/gus/gus_io.c void snd_gf1_peek_print_block(struct snd_gus_card * gus, unsigned int addr, int count, int w_16bit)
gus               514 sound/isa/gus/gus_io.c 			printk(count > 0 ? "%02x:" : "%02x", snd_gf1_peek(gus, addr++));
gus               517 sound/isa/gus/gus_io.c 			printk(count > 0 ? "%04x:" : "%04x", snd_gf1_peek(gus, addr) | (snd_gf1_peek(gus, addr + 1) << 8));
gus                19 sound/isa/gus/gus_irq.c 	struct snd_gus_card * gus = dev_id;
gus                25 sound/isa/gus/gus_irq.c 	status = inb(gus->gf1.reg_irqstat);
gus                31 sound/isa/gus/gus_irq.c 		STAT_ADD(gus->gf1.interrupt_stat_midi_in);
gus                32 sound/isa/gus/gus_irq.c 		if (gus->gf1.interrupt_handler_midi_in)
gus                33 sound/isa/gus/gus_irq.c 			gus->gf1.interrupt_handler_midi_in(gus);
gus                36 sound/isa/gus/gus_irq.c 		STAT_ADD(gus->gf1.interrupt_stat_midi_out);
gus                37 sound/isa/gus/gus_irq.c 		if (gus->gf1.interrupt_handler_midi_out)
gus                38 sound/isa/gus/gus_irq.c 			gus->gf1.interrupt_handler_midi_out(gus);
gus                46 sound/isa/gus/gus_irq.c 		while (((voice_status = snd_gf1_i_read8(gus, SNDRV_GF1_GB_VOICES_IRQ)) & 0xc0) != 0xc0) {
gus                55 sound/isa/gus/gus_irq.c 			       voice, voice_status, inb(GUSP(gus, GF1PAGE)));
gus                57 sound/isa/gus/gus_irq.c 			pvoice = &gus->gf1.voices[voice]; 
gus                61 sound/isa/gus/gus_irq.c 					pvoice->handler_wave(gus, pvoice);
gus                65 sound/isa/gus/gus_irq.c 					pvoice->handler_volume(gus, pvoice);
gus                68 sound/isa/gus/gus_irq.c 				STAT_ADD(gus->gf1.interrupt_stat_voice_lost);
gus                69 sound/isa/gus/gus_irq.c 				snd_gf1_i_ctrl_stop(gus, SNDRV_GF1_VB_ADDRESS_CONTROL);
gus                70 sound/isa/gus/gus_irq.c 				snd_gf1_i_ctrl_stop(gus, SNDRV_GF1_VB_VOLUME_CONTROL);
gus                75 sound/isa/gus/gus_irq.c 		STAT_ADD(gus->gf1.interrupt_stat_timer1);
gus                76 sound/isa/gus/gus_irq.c 		if (gus->gf1.interrupt_handler_timer1)
gus                77 sound/isa/gus/gus_irq.c 			gus->gf1.interrupt_handler_timer1(gus);
gus                80 sound/isa/gus/gus_irq.c 		STAT_ADD(gus->gf1.interrupt_stat_timer2);
gus                81 sound/isa/gus/gus_irq.c 		if (gus->gf1.interrupt_handler_timer2)
gus                82 sound/isa/gus/gus_irq.c 			gus->gf1.interrupt_handler_timer2(gus);
gus                85 sound/isa/gus/gus_irq.c 		if (snd_gf1_i_look8(gus, SNDRV_GF1_GB_DRAM_DMA_CONTROL) & 0x40) {
gus                86 sound/isa/gus/gus_irq.c 			STAT_ADD(gus->gf1.interrupt_stat_dma_write);
gus                87 sound/isa/gus/gus_irq.c 			if (gus->gf1.interrupt_handler_dma_write)
gus                88 sound/isa/gus/gus_irq.c 				gus->gf1.interrupt_handler_dma_write(gus);
gus                90 sound/isa/gus/gus_irq.c 		if (snd_gf1_i_look8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL) & 0x40) {
gus                91 sound/isa/gus/gus_irq.c 			STAT_ADD(gus->gf1.interrupt_stat_dma_read);
gus                92 sound/isa/gus/gus_irq.c 			if (gus->gf1.interrupt_handler_dma_read)
gus                93 sound/isa/gus/gus_irq.c 				gus->gf1.interrupt_handler_dma_read(gus);
gus               105 sound/isa/gus/gus_irq.c 	struct snd_gus_card *gus;
gus               109 sound/isa/gus/gus_irq.c 	gus = entry->private_data;
gus               110 sound/isa/gus/gus_irq.c 	snd_iprintf(buffer, "midi out = %u\n", gus->gf1.interrupt_stat_midi_out);
gus               111 sound/isa/gus/gus_irq.c 	snd_iprintf(buffer, "midi in = %u\n", gus->gf1.interrupt_stat_midi_in);
gus               112 sound/isa/gus/gus_irq.c 	snd_iprintf(buffer, "timer1 = %u\n", gus->gf1.interrupt_stat_timer1);
gus               113 sound/isa/gus/gus_irq.c 	snd_iprintf(buffer, "timer2 = %u\n", gus->gf1.interrupt_stat_timer2);
gus               114 sound/isa/gus/gus_irq.c 	snd_iprintf(buffer, "dma write = %u\n", gus->gf1.interrupt_stat_dma_write);
gus               115 sound/isa/gus/gus_irq.c 	snd_iprintf(buffer, "dma read = %u\n", gus->gf1.interrupt_stat_dma_read);
gus               116 sound/isa/gus/gus_irq.c 	snd_iprintf(buffer, "voice lost = %u\n", gus->gf1.interrupt_stat_voice_lost);
gus               118 sound/isa/gus/gus_irq.c 		pvoice = &gus->gf1.voices[idx];
gus               126 sound/isa/gus/gus_irq.c void snd_gus_irq_profile_init(struct snd_gus_card *gus)
gus               128 sound/isa/gus/gus_irq.c 	snd_card_ro_proc_new(gus->card, "gusirq", gus, snd_gus_irq_info_read);
gus                23 sound/isa/gus/gus_main.c static int snd_gus_init_dma_irq(struct snd_gus_card * gus, int latches);
gus                25 sound/isa/gus/gus_main.c int snd_gus_use_inc(struct snd_gus_card * gus)
gus                27 sound/isa/gus/gus_main.c 	if (!try_module_get(gus->card->module))
gus                32 sound/isa/gus/gus_main.c void snd_gus_use_dec(struct snd_gus_card * gus)
gus                34 sound/isa/gus/gus_main.c 	module_put(gus->card->module);
gus                48 sound/isa/gus/gus_main.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus                50 sound/isa/gus/gus_main.c 	ucontrol->value.integer.value[0] = gus->joystick_dac & 31;
gus                56 sound/isa/gus/gus_main.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus                62 sound/isa/gus/gus_main.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                63 sound/isa/gus/gus_main.c 	change = gus->joystick_dac != nval;
gus                64 sound/isa/gus/gus_main.c 	gus->joystick_dac = nval;
gus                65 sound/isa/gus/gus_main.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_JOYSTICK_DAC_LEVEL, gus->joystick_dac);
gus                66 sound/isa/gus/gus_main.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                78 sound/isa/gus/gus_main.c static void snd_gus_init_control(struct snd_gus_card *gus)
gus                82 sound/isa/gus/gus_main.c 	if (!gus->ace_flag) {
gus                84 sound/isa/gus/gus_main.c 			snd_ctl_add(gus->card,
gus                86 sound/isa/gus/gus_main.c 						gus));
gus                97 sound/isa/gus/gus_main.c static int snd_gus_free(struct snd_gus_card *gus)
gus                99 sound/isa/gus/gus_main.c 	if (gus->gf1.res_port2 == NULL)
gus               101 sound/isa/gus/gus_main.c 	snd_gf1_stop(gus);
gus               102 sound/isa/gus/gus_main.c 	snd_gus_init_dma_irq(gus, 0);
gus               104 sound/isa/gus/gus_main.c 	release_and_free_resource(gus->gf1.res_port1);
gus               105 sound/isa/gus/gus_main.c 	release_and_free_resource(gus->gf1.res_port2);
gus               106 sound/isa/gus/gus_main.c 	if (gus->gf1.irq >= 0)
gus               107 sound/isa/gus/gus_main.c 		free_irq(gus->gf1.irq, (void *) gus);
gus               108 sound/isa/gus/gus_main.c 	if (gus->gf1.dma1 >= 0) {
gus               109 sound/isa/gus/gus_main.c 		disable_dma(gus->gf1.dma1);
gus               110 sound/isa/gus/gus_main.c 		free_dma(gus->gf1.dma1);
gus               112 sound/isa/gus/gus_main.c 	if (!gus->equal_dma && gus->gf1.dma2 >= 0) {
gus               113 sound/isa/gus/gus_main.c 		disable_dma(gus->gf1.dma2);
gus               114 sound/isa/gus/gus_main.c 		free_dma(gus->gf1.dma2);
gus               116 sound/isa/gus/gus_main.c 	kfree(gus);
gus               122 sound/isa/gus/gus_main.c 	struct snd_gus_card *gus = device->device_data;
gus               123 sound/isa/gus/gus_main.c 	return snd_gus_free(gus);
gus               135 sound/isa/gus/gus_main.c 	struct snd_gus_card *gus;
gus               142 sound/isa/gus/gus_main.c 	gus = kzalloc(sizeof(*gus), GFP_KERNEL);
gus               143 sound/isa/gus/gus_main.c 	if (gus == NULL)
gus               145 sound/isa/gus/gus_main.c 	spin_lock_init(&gus->reg_lock);
gus               146 sound/isa/gus/gus_main.c 	spin_lock_init(&gus->voice_alloc);
gus               147 sound/isa/gus/gus_main.c 	spin_lock_init(&gus->active_voice_lock);
gus               148 sound/isa/gus/gus_main.c 	spin_lock_init(&gus->event_lock);
gus               149 sound/isa/gus/gus_main.c 	spin_lock_init(&gus->dma_lock);
gus               150 sound/isa/gus/gus_main.c 	spin_lock_init(&gus->pcm_volume_level_lock);
gus               151 sound/isa/gus/gus_main.c 	spin_lock_init(&gus->uart_cmd_lock);
gus               152 sound/isa/gus/gus_main.c 	mutex_init(&gus->dma_mutex);
gus               153 sound/isa/gus/gus_main.c 	gus->gf1.irq = -1;
gus               154 sound/isa/gus/gus_main.c 	gus->gf1.dma1 = -1;
gus               155 sound/isa/gus/gus_main.c 	gus->gf1.dma2 = -1;
gus               156 sound/isa/gus/gus_main.c 	gus->card = card;
gus               157 sound/isa/gus/gus_main.c 	gus->gf1.port = port;
gus               159 sound/isa/gus/gus_main.c 	gus->gf1.reg_page = GUSP(gus, GF1PAGE);
gus               160 sound/isa/gus/gus_main.c 	gus->gf1.reg_regsel = GUSP(gus, GF1REGSEL);
gus               161 sound/isa/gus/gus_main.c 	gus->gf1.reg_data8 = GUSP(gus, GF1DATAHIGH);
gus               162 sound/isa/gus/gus_main.c 	gus->gf1.reg_data16 = GUSP(gus, GF1DATALOW);
gus               163 sound/isa/gus/gus_main.c 	gus->gf1.reg_irqstat = GUSP(gus, IRQSTAT);
gus               164 sound/isa/gus/gus_main.c 	gus->gf1.reg_dram = GUSP(gus, DRAM);
gus               165 sound/isa/gus/gus_main.c 	gus->gf1.reg_timerctrl = GUSP(gus, TIMERCNTRL);
gus               166 sound/isa/gus/gus_main.c 	gus->gf1.reg_timerdata = GUSP(gus, TIMERDATA);
gus               168 sound/isa/gus/gus_main.c 	if ((gus->gf1.res_port1 = request_region(port, 16, "GUS GF1 (Adlib/SB)")) == NULL) {
gus               170 sound/isa/gus/gus_main.c 		snd_gus_free(gus);
gus               173 sound/isa/gus/gus_main.c 	if ((gus->gf1.res_port2 = request_region(port + 0x100, 12, "GUS GF1 (Synth)")) == NULL) {
gus               175 sound/isa/gus/gus_main.c 		snd_gus_free(gus);
gus               178 sound/isa/gus/gus_main.c 	if (irq >= 0 && request_irq(irq, snd_gus_interrupt, 0, "GUS GF1", (void *) gus)) {
gus               180 sound/isa/gus/gus_main.c 		snd_gus_free(gus);
gus               183 sound/isa/gus/gus_main.c 	gus->gf1.irq = irq;
gus               186 sound/isa/gus/gus_main.c 		snd_gus_free(gus);
gus               189 sound/isa/gus/gus_main.c 	gus->gf1.dma1 = dma1;
gus               193 sound/isa/gus/gus_main.c 			snd_gus_free(gus);
gus               196 sound/isa/gus/gus_main.c 		gus->gf1.dma2 = dma2;
gus               198 sound/isa/gus/gus_main.c 		gus->gf1.dma2 = gus->gf1.dma1;
gus               199 sound/isa/gus/gus_main.c 		gus->equal_dma = 1;
gus               201 sound/isa/gus/gus_main.c 	gus->timer_dev = timer_dev;
gus               212 sound/isa/gus/gus_main.c 	gus->gf1.effect = effect ? 1 : 0;
gus               213 sound/isa/gus/gus_main.c 	gus->gf1.active_voices = voices;
gus               214 sound/isa/gus/gus_main.c 	gus->gf1.pcm_channels = pcm_channels;
gus               215 sound/isa/gus/gus_main.c 	gus->gf1.volume_ramp = 25;
gus               216 sound/isa/gus/gus_main.c 	gus->gf1.smooth_pan = 1;
gus               217 sound/isa/gus/gus_main.c 	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, gus, &ops)) < 0) {
gus               218 sound/isa/gus/gus_main.c 		snd_gus_free(gus);
gus               221 sound/isa/gus/gus_main.c 	*rgus = gus;
gus               229 sound/isa/gus/gus_main.c static int snd_gus_detect_memory(struct snd_gus_card * gus)
gus               234 sound/isa/gus/gus_main.c 	snd_gf1_poke(gus, 0L, 0xaa);
gus               235 sound/isa/gus/gus_main.c 	snd_gf1_poke(gus, 1L, 0x55);
gus               236 sound/isa/gus/gus_main.c 	if (snd_gf1_peek(gus, 0L) != 0xaa || snd_gf1_peek(gus, 1L) != 0x55) {
gus               237 sound/isa/gus/gus_main.c 		snd_printk(KERN_ERR "plain GF1 card at 0x%lx without onboard DRAM?\n", gus->gf1.port);
gus               242 sound/isa/gus/gus_main.c 		snd_gf1_poke(gus, local, d);
gus               243 sound/isa/gus/gus_main.c 		snd_gf1_poke(gus, local + 1, d + 1);
gus               244 sound/isa/gus/gus_main.c 		if (snd_gf1_peek(gus, local) != d ||
gus               245 sound/isa/gus/gus_main.c 		    snd_gf1_peek(gus, local + 1) != d + 1 ||
gus               246 sound/isa/gus/gus_main.c 		    snd_gf1_peek(gus, 0L) != 0xaa)
gus               250 sound/isa/gus/gus_main.c 	gus->gf1.memory = idx << 18;
gus               252 sound/isa/gus/gus_main.c 	gus->gf1.memory = 256 * 1024;
gus               254 sound/isa/gus/gus_main.c 	for (l = 0, local = gus->gf1.memory; l < 4; l++, local -= 256 * 1024) {
gus               255 sound/isa/gus/gus_main.c 		gus->gf1.mem_alloc.banks_8[l].address =
gus               256 sound/isa/gus/gus_main.c 		    gus->gf1.mem_alloc.banks_8[l].size = 0;
gus               257 sound/isa/gus/gus_main.c 		gus->gf1.mem_alloc.banks_16[l].address = l << 18;
gus               258 sound/isa/gus/gus_main.c 		gus->gf1.mem_alloc.banks_16[l].size = local > 0 ? 256 * 1024 : 0;
gus               260 sound/isa/gus/gus_main.c 	gus->gf1.mem_alloc.banks_8[0].size = gus->gf1.memory;
gus               264 sound/isa/gus/gus_main.c static int snd_gus_init_dma_irq(struct snd_gus_card * gus, int latches)
gus               274 sound/isa/gus/gus_main.c 	if (snd_BUG_ON(!gus))
gus               276 sound/isa/gus/gus_main.c 	card = gus->card;
gus               280 sound/isa/gus/gus_main.c 	gus->mix_cntrl_reg &= 0xf8;
gus               281 sound/isa/gus/gus_main.c 	gus->mix_cntrl_reg |= 0x01;	/* disable MIC, LINE IN, enable LINE OUT */
gus               282 sound/isa/gus/gus_main.c 	if (gus->codec_flag || gus->ess_flag) {
gus               283 sound/isa/gus/gus_main.c 		gus->mix_cntrl_reg &= ~1;	/* enable LINE IN */
gus               284 sound/isa/gus/gus_main.c 		gus->mix_cntrl_reg |= 4;	/* enable MIC */
gus               286 sound/isa/gus/gus_main.c 	dma1 = gus->gf1.dma1;
gus               289 sound/isa/gus/gus_main.c 	dma2 = gus->gf1.dma2;
gus               292 sound/isa/gus/gus_main.c 	dma1 |= gus->equal_dma ? 0x40 : (dma2 << 3);
gus               298 sound/isa/gus/gus_main.c 	irq = gus->gf1.irq;
gus               310 sound/isa/gus/gus_main.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               311 sound/isa/gus/gus_main.c 	outb(5, GUSP(gus, REGCNTRLS));
gus               312 sound/isa/gus/gus_main.c 	outb(gus->mix_cntrl_reg, GUSP(gus, MIXCNTRLREG));
gus               313 sound/isa/gus/gus_main.c 	outb(0x00, GUSP(gus, IRQDMACNTRLREG));
gus               314 sound/isa/gus/gus_main.c 	outb(0, GUSP(gus, REGCNTRLS));
gus               315 sound/isa/gus/gus_main.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               319 sound/isa/gus/gus_main.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               320 sound/isa/gus/gus_main.c 	outb(0x00 | gus->mix_cntrl_reg, GUSP(gus, MIXCNTRLREG));
gus               321 sound/isa/gus/gus_main.c 	outb(dma1, GUSP(gus, IRQDMACNTRLREG));
gus               323 sound/isa/gus/gus_main.c 		outb(0x40 | gus->mix_cntrl_reg, GUSP(gus, MIXCNTRLREG));
gus               324 sound/isa/gus/gus_main.c 		outb(irq, GUSP(gus, IRQDMACNTRLREG));
gus               326 sound/isa/gus/gus_main.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               330 sound/isa/gus/gus_main.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               331 sound/isa/gus/gus_main.c 	outb(0x00 | gus->mix_cntrl_reg, GUSP(gus, MIXCNTRLREG));
gus               332 sound/isa/gus/gus_main.c 	outb(dma1, GUSP(gus, IRQDMACNTRLREG));
gus               334 sound/isa/gus/gus_main.c 		outb(0x40 | gus->mix_cntrl_reg, GUSP(gus, MIXCNTRLREG));
gus               335 sound/isa/gus/gus_main.c 		outb(irq, GUSP(gus, IRQDMACNTRLREG));
gus               337 sound/isa/gus/gus_main.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               339 sound/isa/gus/gus_main.c 	snd_gf1_delay(gus);
gus               342 sound/isa/gus/gus_main.c 		gus->mix_cntrl_reg |= 0x08;	/* enable latches */
gus               344 sound/isa/gus/gus_main.c 		gus->mix_cntrl_reg &= ~0x08;	/* disable latches */
gus               345 sound/isa/gus/gus_main.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               346 sound/isa/gus/gus_main.c 	outb(gus->mix_cntrl_reg, GUSP(gus, MIXCNTRLREG));
gus               347 sound/isa/gus/gus_main.c 	outb(0, GUSP(gus, GF1PAGE));
gus               348 sound/isa/gus/gus_main.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               353 sound/isa/gus/gus_main.c static int snd_gus_check_version(struct snd_gus_card * gus)
gus               359 sound/isa/gus/gus_main.c 	card = gus->card;
gus               360 sound/isa/gus/gus_main.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               361 sound/isa/gus/gus_main.c 	outb(0x20, GUSP(gus, REGCNTRLS));
gus               362 sound/isa/gus/gus_main.c 	val = inb(GUSP(gus, REGCNTRLS));
gus               363 sound/isa/gus/gus_main.c 	rev = inb(GUSP(gus, BOARDVERSION));
gus               364 sound/isa/gus/gus_main.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               365 sound/isa/gus/gus_main.c 	snd_printdd("GF1 [0x%lx] init - val = 0x%x, rev = 0x%x\n", gus->gf1.port, val, rev);
gus               370 sound/isa/gus/gus_main.c 			gus->ics_flag = 1;
gus               372 sound/isa/gus/gus_main.c 				gus->ics_flipped = 1;
gus               380 sound/isa/gus/gus_main.c 				gus->max_flag = 1;
gus               384 sound/isa/gus/gus_main.c 				gus->ace_flag = 1;
gus               388 sound/isa/gus/gus_main.c 				gus->ess_flag = 1;
gus               390 sound/isa/gus/gus_main.c 				snd_printk(KERN_ERR "unknown GF1 revision number at 0x%lx - 0x%x (0x%x)\n", gus->gf1.port, rev, val);
gus               396 sound/isa/gus/gus_main.c 	gus->uart_enable = 1;	/* standard GUSes doesn't have midi uart trouble */
gus               397 sound/isa/gus/gus_main.c 	snd_gus_init_control(gus);
gus               401 sound/isa/gus/gus_main.c int snd_gus_initialize(struct snd_gus_card *gus)
gus               405 sound/isa/gus/gus_main.c 	if (!gus->interwave) {
gus               406 sound/isa/gus/gus_main.c 		if ((err = snd_gus_check_version(gus)) < 0) {
gus               410 sound/isa/gus/gus_main.c 		if ((err = snd_gus_detect_memory(gus)) < 0)
gus               413 sound/isa/gus/gus_main.c 	if ((err = snd_gus_init_dma_irq(gus, 1)) < 0)
gus               415 sound/isa/gus/gus_main.c 	snd_gf1_start(gus);
gus               416 sound/isa/gus/gus_main.c 	gus->initialized = 1;
gus               222 sound/isa/gus/gus_mem.c int snd_gf1_mem_init(struct snd_gus_card * gus)
gus               227 sound/isa/gus/gus_mem.c 	alloc = &gus->gf1.mem_alloc;
gus               230 sound/isa/gus/gus_mem.c 	if (!gus->gf1.memory)
gus               235 sound/isa/gus/gus_mem.c 	if (gus->gf1.enh_mode) {
gus               242 sound/isa/gus/gus_mem.c 	block.ptr = gus->gf1.default_voice_address;
gus               248 sound/isa/gus/gus_mem.c 	snd_card_ro_proc_new(gus->card, "gusmem", gus, snd_gf1_mem_info_read);
gus               253 sound/isa/gus/gus_mem.c int snd_gf1_mem_done(struct snd_gus_card * gus)
gus               258 sound/isa/gus/gus_mem.c 	alloc = &gus->gf1.mem_alloc;
gus               272 sound/isa/gus/gus_mem.c 	struct snd_gus_card *gus;
gus               278 sound/isa/gus/gus_mem.c 	gus = entry->private_data;
gus               279 sound/isa/gus/gus_mem.c 	alloc = &gus->gf1.mem_alloc;
gus                16 sound/isa/gus/gus_mem_proc.c 	struct snd_gus_card * gus;
gus                25 sound/isa/gus/gus_mem_proc.c 	struct snd_gus_card *gus = priv->gus;
gus                28 sound/isa/gus/gus_mem_proc.c 	err = snd_gus_dram_read(gus, buf, pos, count, priv->rom);
gus                44 sound/isa/gus/gus_mem_proc.c int snd_gf1_mem_proc_init(struct snd_gus_card * gus)
gus                52 sound/isa/gus/gus_mem_proc.c 		if (gus->gf1.mem_alloc.banks_8[idx].size > 0) {
gus                56 sound/isa/gus/gus_mem_proc.c 			priv->gus = gus;
gus                58 sound/isa/gus/gus_mem_proc.c 			if (! snd_card_proc_new(gus->card, name, &entry)) {
gus                63 sound/isa/gus/gus_mem_proc.c 				priv->address = gus->gf1.mem_alloc.banks_8[idx].address;
gus                64 sound/isa/gus/gus_mem_proc.c 				priv->size = entry->size = gus->gf1.mem_alloc.banks_8[idx].size;
gus                69 sound/isa/gus/gus_mem_proc.c 		if (gus->gf1.rom_present & (1 << idx)) {
gus                74 sound/isa/gus/gus_mem_proc.c 			priv->gus = gus;
gus                76 sound/isa/gus/gus_mem_proc.c 			if (! snd_card_proc_new(gus->card, name, &entry)) {
gus                82 sound/isa/gus/gus_mem_proc.c 				priv->size = entry->size = gus->gf1.rom_memory;
gus                27 sound/isa/gus/gus_mixer.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus                31 sound/isa/gus/gus_mixer.c 	ucontrol->value.integer.value[0] = (gus->mix_cntrl_reg >> shift) & 1;
gus                39 sound/isa/gus/gus_mixer.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus                50 sound/isa/gus/gus_mixer.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                51 sound/isa/gus/gus_mixer.c 	oval = gus->mix_cntrl_reg;
gus                54 sound/isa/gus/gus_mixer.c 	outb(gus->mix_cntrl_reg = nval, GUSP(gus, MIXCNTRLREG));
gus                55 sound/isa/gus/gus_mixer.c 	outb(gus->gf1.active_voice = 0, GUSP(gus, GF1PAGE));
gus                56 sound/isa/gus/gus_mixer.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                77 sound/isa/gus/gus_mixer.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus                82 sound/isa/gus/gus_mixer.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                83 sound/isa/gus/gus_mixer.c 	left = gus->gf1.ics_regs[addr][0];
gus                84 sound/isa/gus/gus_mixer.c 	right = gus->gf1.ics_regs[addr][1];
gus                85 sound/isa/gus/gus_mixer.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                93 sound/isa/gus/gus_mixer.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus               101 sound/isa/gus/gus_mixer.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               102 sound/isa/gus/gus_mixer.c 	oval1 = gus->gf1.ics_regs[addr][0];
gus               103 sound/isa/gus/gus_mixer.c 	oval2 = gus->gf1.ics_regs[addr][1];
gus               105 sound/isa/gus/gus_mixer.c 	gus->gf1.ics_regs[addr][0] = val1;
gus               106 sound/isa/gus/gus_mixer.c 	gus->gf1.ics_regs[addr][1] = val2;
gus               107 sound/isa/gus/gus_mixer.c 	if (gus->ics_flag && gus->ics_flipped &&
gus               111 sound/isa/gus/gus_mixer.c 	outb(addr | 0, GUSP(gus, MIXCNTRLPORT));
gus               112 sound/isa/gus/gus_mixer.c 	outb(1, GUSP(gus, MIXDATAPORT));
gus               113 sound/isa/gus/gus_mixer.c 	outb(addr | 2, GUSP(gus, MIXCNTRLPORT));
gus               114 sound/isa/gus/gus_mixer.c 	outb((unsigned char) val1, GUSP(gus, MIXDATAPORT));
gus               115 sound/isa/gus/gus_mixer.c 	outb(addr | 1, GUSP(gus, MIXCNTRLPORT));
gus               116 sound/isa/gus/gus_mixer.c 	outb(2, GUSP(gus, MIXDATAPORT));
gus               117 sound/isa/gus/gus_mixer.c 	outb(addr | 3, GUSP(gus, MIXCNTRLPORT));
gus               118 sound/isa/gus/gus_mixer.c 	outb((unsigned char) val2, GUSP(gus, MIXDATAPORT));
gus               119 sound/isa/gus/gus_mixer.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               140 sound/isa/gus/gus_mixer.c int snd_gf1_new_mixer(struct snd_gus_card * gus)
gus               146 sound/isa/gus/gus_mixer.c 	if (snd_BUG_ON(!gus))
gus               148 sound/isa/gus/gus_mixer.c 	card = gus->card;
gus               152 sound/isa/gus/gus_mixer.c 	if (gus->ics_flag)
gus               155 sound/isa/gus/gus_mixer.c 		strcpy(card->mixername, gus->ics_flag ? "GF1,ICS2101" : "GF1");
gus               157 sound/isa/gus/gus_mixer.c 		if (gus->ics_flag)
gus               162 sound/isa/gus/gus_mixer.c 	if (!gus->ics_flag) {
gus               163 sound/isa/gus/gus_mixer.c 		max = gus->ess_flag ? 1 : ARRAY_SIZE(snd_gf1_controls);
gus               165 sound/isa/gus/gus_mixer.c 			if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_gf1_controls[idx], gus))) < 0)
gus               170 sound/isa/gus/gus_mixer.c 			if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ics_controls[idx], gus))) < 0)
gus                32 sound/isa/gus/gus_pcm.c 	struct snd_gus_card * gus;
gus                49 sound/isa/gus/gus_pcm.c static void snd_gf1_pcm_block_change_ack(struct snd_gus_card * gus, void *private_data)
gus                86 sound/isa/gus/gus_pcm.c 	if (!snd_gf1_dma_transfer_block(pcmp->gus, &block, 0, 0))
gus                95 sound/isa/gus/gus_pcm.c 	struct snd_gus_card * gus = pcmp->gus;
gus               112 sound/isa/gus/gus_pcm.c 	rate = snd_gf1_translate_freq(gus, runtime->rate << 4);
gus               132 sound/isa/gus/gus_pcm.c 		vol = !voice ? gus->gf1.pcm_volume_level_left : gus->gf1.pcm_volume_level_right;
gus               133 sound/isa/gus/gus_pcm.c 		spin_lock_irqsave(&gus->reg_lock, flags);
gus               134 sound/isa/gus/gus_pcm.c 		snd_gf1_select_voice(gus, pcmp->pvoices[voice]->number);
gus               135 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_PAN, pan);
gus               136 sound/isa/gus/gus_pcm.c 		snd_gf1_write16(gus, SNDRV_GF1_VW_FREQUENCY, rate);
gus               137 sound/isa/gus/gus_pcm.c 		snd_gf1_write_addr(gus, SNDRV_GF1_VA_START, begin << 4, voice_ctrl & 4);
gus               138 sound/isa/gus/gus_pcm.c 		snd_gf1_write_addr(gus, SNDRV_GF1_VA_END, end << 4, voice_ctrl & 4);
gus               139 sound/isa/gus/gus_pcm.c 		snd_gf1_write_addr(gus, SNDRV_GF1_VA_CURRENT, curr << 4, voice_ctrl & 4);
gus               140 sound/isa/gus/gus_pcm.c 		snd_gf1_write16(gus, SNDRV_GF1_VW_VOLUME, SNDRV_GF1_MIN_VOLUME << 4);
gus               141 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_RATE, 0x2f);
gus               142 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_START, SNDRV_GF1_MIN_OFFSET);
gus               143 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_END, vol >> 8);
gus               144 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_CONTROL, ramp_ctrl);
gus               145 sound/isa/gus/gus_pcm.c 		if (!gus->gf1.enh_mode) {
gus               146 sound/isa/gus/gus_pcm.c 			snd_gf1_delay(gus);
gus               147 sound/isa/gus/gus_pcm.c 			snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_CONTROL, ramp_ctrl);
gus               149 sound/isa/gus/gus_pcm.c 		spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               151 sound/isa/gus/gus_pcm.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               153 sound/isa/gus/gus_pcm.c 		snd_gf1_select_voice(gus, pcmp->pvoices[voice]->number);
gus               154 sound/isa/gus/gus_pcm.c 		if (gus->gf1.enh_mode)
gus               155 sound/isa/gus/gus_pcm.c 			snd_gf1_write8(gus, SNDRV_GF1_VB_MODE, 0x00);	/* deactivate voice */
gus               156 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_ADDRESS_CONTROL, voice_ctrl);
gus               160 sound/isa/gus/gus_pcm.c 	if (!gus->gf1.enh_mode) {
gus               161 sound/isa/gus/gus_pcm.c 		snd_gf1_delay(gus);
gus               163 sound/isa/gus/gus_pcm.c 			snd_gf1_select_voice(gus, pcmp->pvoices[voice]->number);
gus               164 sound/isa/gus/gus_pcm.c 			snd_gf1_write8(gus, SNDRV_GF1_VB_ADDRESS_CONTROL, voice_ctrl);
gus               168 sound/isa/gus/gus_pcm.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               171 sound/isa/gus/gus_pcm.c static void snd_gf1_pcm_interrupt_wave(struct snd_gus_card * gus,
gus               182 sound/isa/gus/gus_pcm.c 		snd_gf1_smart_stop_voice(gus, pvoice->number);
gus               188 sound/isa/gus/gus_pcm.c 		snd_gf1_smart_stop_voice(gus, pvoice->number);
gus               191 sound/isa/gus/gus_pcm.c 	gus = pcmp->gus;
gus               194 sound/isa/gus/gus_pcm.c 	spin_lock(&gus->reg_lock);
gus               195 sound/isa/gus/gus_pcm.c 	snd_gf1_select_voice(gus, pvoice->number);
gus               196 sound/isa/gus/gus_pcm.c 	voice_ctrl = snd_gf1_read8(gus, SNDRV_GF1_VB_ADDRESS_CONTROL) & ~0x8b;
gus               197 sound/isa/gus/gus_pcm.c 	ramp_ctrl = (snd_gf1_read8(gus, SNDRV_GF1_VB_VOLUME_CONTROL) & ~0xa4) | 0x03;
gus               199 sound/isa/gus/gus_pcm.c 	snd_gf1_select_voice(gus, pvoice->number);
gus               201 sound/isa/gus/gus_pcm.c 	       (snd_gf1_read_addr(gus, SNDRV_GF1_VA_CURRENT, voice_ctrl & 4) >> 4));
gus               202 sound/isa/gus/gus_pcm.c 	snd_gf1_select_voice(gus, pcmp->pvoices[1]->number);
gus               204 sound/isa/gus/gus_pcm.c 	       (snd_gf1_read_addr(gus, SNDRV_GF1_VA_CURRENT, voice_ctrl & 4) >> 4));
gus               205 sound/isa/gus/gus_pcm.c 	snd_gf1_select_voice(gus, pvoice->number);
gus               223 sound/isa/gus/gus_pcm.c 		snd_gf1_select_voice(gus, pcmp->pvoices[idx]->number);
gus               224 sound/isa/gus/gus_pcm.c 		snd_gf1_write_addr(gus, SNDRV_GF1_VA_END, end << 4, voice_ctrl & 4);
gus               225 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_ADDRESS_CONTROL, voice_ctrl);
gus               226 sound/isa/gus/gus_pcm.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_CONTROL, ramp_ctrl);
gus               229 sound/isa/gus/gus_pcm.c 	if (!gus->gf1.enh_mode) {
gus               230 sound/isa/gus/gus_pcm.c 		snd_gf1_delay(gus);
gus               233 sound/isa/gus/gus_pcm.c 			snd_gf1_select_voice(gus, pcmp->pvoices[idx]->number);
gus               234 sound/isa/gus/gus_pcm.c 			snd_gf1_write8(gus, SNDRV_GF1_VB_ADDRESS_CONTROL, voice_ctrl);
gus               235 sound/isa/gus/gus_pcm.c 			snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_CONTROL, ramp_ctrl);
gus               239 sound/isa/gus/gus_pcm.c 	spin_unlock(&gus->reg_lock);
gus               256 sound/isa/gus/gus_pcm.c static void snd_gf1_pcm_interrupt_volume(struct snd_gus_card * gus,
gus               264 sound/isa/gus/gus_pcm.c 	spin_lock(&gus->reg_lock);
gus               265 sound/isa/gus/gus_pcm.c 	snd_gf1_select_voice(gus, pvoice->number);
gus               266 sound/isa/gus/gus_pcm.c 	snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_VOLUME_CONTROL);
gus               267 sound/isa/gus/gus_pcm.c 	spin_unlock(&gus->reg_lock);
gus               277 sound/isa/gus/gus_pcm.c 	vol = !cvoice ? gus->gf1.pcm_volume_level_left : gus->gf1.pcm_volume_level_right;
gus               278 sound/isa/gus/gus_pcm.c 	spin_lock(&gus->reg_lock);
gus               279 sound/isa/gus/gus_pcm.c 	snd_gf1_select_voice(gus, pvoice->number);
gus               280 sound/isa/gus/gus_pcm.c 	snd_gf1_write16(gus, SNDRV_GF1_VW_VOLUME, vol);
gus               282 sound/isa/gus/gus_pcm.c 	spin_unlock(&gus->reg_lock);
gus               285 sound/isa/gus/gus_pcm.c static void snd_gf1_pcm_volume_change(struct snd_gus_card * gus)
gus               289 sound/isa/gus/gus_pcm.c static int snd_gf1_pcm_poke_block(struct snd_gus_card *gus, unsigned char *buf,
gus               306 sound/isa/gus/gus_pcm.c 		if (gus->interwave) {
gus               307 sound/isa/gus/gus_pcm.c 			spin_lock_irqsave(&gus->reg_lock, flags);
gus               308 sound/isa/gus/gus_pcm.c 			snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x01 | (invert ? 0x08 : 0x00));
gus               309 sound/isa/gus/gus_pcm.c 			snd_gf1_dram_addr(gus, pos);
gus               311 sound/isa/gus/gus_pcm.c 				outb(SNDRV_GF1_GW_DRAM_IO16, GUSP(gus, GF1REGSEL));
gus               312 sound/isa/gus/gus_pcm.c 				outsw(GUSP(gus, GF1DATALOW), buf, len >> 1);
gus               314 sound/isa/gus/gus_pcm.c 				outsb(GUSP(gus, DRAM), buf, len);
gus               316 sound/isa/gus/gus_pcm.c 			spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               324 sound/isa/gus/gus_pcm.c 					snd_gf1_poke(gus, pos++, *buf++);
gus               325 sound/isa/gus/gus_pcm.c 					snd_gf1_poke(gus, pos++, *buf++ ^ invert);
gus               329 sound/isa/gus/gus_pcm.c 					snd_gf1_poke(gus, pos++, *buf++ ^ invert);
gus               357 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = pcmp->gus;
gus               366 sound/isa/gus/gus_pcm.c 	return snd_gf1_pcm_poke_block(gus, runtime->dma_area + bpos,
gus               423 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               433 sound/isa/gus/gus_pcm.c 			snd_gf1_mem_free(&gus->gf1.mem_alloc, pcmp->memory);
gus               436 sound/isa/gus/gus_pcm.c 		if ((block = snd_gf1_mem_alloc(&gus->gf1.mem_alloc,
gus               446 sound/isa/gus/gus_pcm.c 		if ((pcmp->pvoices[0] = snd_gf1_alloc_voice(pcmp->gus, SNDRV_GF1_VOICE_TYPE_PCM, 0, 0)) == NULL)
gus               454 sound/isa/gus/gus_pcm.c 		if ((pcmp->pvoices[1] = snd_gf1_alloc_voice(pcmp->gus, SNDRV_GF1_VOICE_TYPE_PCM, 0, 0)) == NULL)
gus               462 sound/isa/gus/gus_pcm.c 			snd_gf1_free_voice(pcmp->gus, pcmp->pvoices[1]);
gus               476 sound/isa/gus/gus_pcm.c 		snd_gf1_free_voice(pcmp->gus, pcmp->pvoices[0]);
gus               480 sound/isa/gus/gus_pcm.c 		snd_gf1_free_voice(pcmp->gus, pcmp->pvoices[1]);
gus               484 sound/isa/gus/gus_pcm.c 		snd_gf1_mem_free(&pcmp->gus->gf1.mem_alloc, pcmp->memory);
gus               505 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               517 sound/isa/gus/gus_pcm.c 		snd_gf1_stop_voices(gus, voice, voice);
gus               520 sound/isa/gus/gus_pcm.c 			snd_gf1_stop_voices(gus, voice, voice);
gus               530 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               537 sound/isa/gus/gus_pcm.c 	spin_lock(&gus->reg_lock);
gus               539 sound/isa/gus/gus_pcm.c 		snd_gf1_select_voice(gus, pcmp->pvoices[0]->number);
gus               540 sound/isa/gus/gus_pcm.c 		voice_ctrl = snd_gf1_read8(gus, SNDRV_GF1_VB_ADDRESS_CONTROL);
gus               541 sound/isa/gus/gus_pcm.c 		pos = (snd_gf1_read_addr(gus, SNDRV_GF1_VA_CURRENT, voice_ctrl & 4) >> 4) - pcmp->memory;
gus               546 sound/isa/gus/gus_pcm.c 	spin_unlock(&gus->reg_lock);
gus               565 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               567 sound/isa/gus/gus_pcm.c 	gus->c_dma_size = params_buffer_bytes(hw_params);
gus               568 sound/isa/gus/gus_pcm.c 	gus->c_period_size = params_period_bytes(hw_params);
gus               569 sound/isa/gus/gus_pcm.c 	gus->c_pos = 0;
gus               570 sound/isa/gus/gus_pcm.c 	gus->gf1.pcm_rcntrl_reg = 0x21;		/* IRQ at end, enable & start */
gus               572 sound/isa/gus/gus_pcm.c 		gus->gf1.pcm_rcntrl_reg |= 2;
gus               573 sound/isa/gus/gus_pcm.c 	if (gus->gf1.dma2 > 3)
gus               574 sound/isa/gus/gus_pcm.c 		gus->gf1.pcm_rcntrl_reg |= 4;
gus               576 sound/isa/gus/gus_pcm.c 		gus->gf1.pcm_rcntrl_reg |= 0x80;
gus               587 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               590 sound/isa/gus/gus_pcm.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RECORD_RATE, runtime->rate_den - 2);
gus               591 sound/isa/gus/gus_pcm.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL, 0);	/* disable sampling */
gus               592 sound/isa/gus/gus_pcm.c 	snd_gf1_i_look8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL);	/* Sampling Control Register */
gus               593 sound/isa/gus/gus_pcm.c 	snd_dma_program(gus->gf1.dma2, runtime->dma_addr, gus->c_period_size, DMA_MODE_READ);
gus               600 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               604 sound/isa/gus/gus_pcm.c 		val = gus->gf1.pcm_rcntrl_reg;
gus               611 sound/isa/gus/gus_pcm.c 	spin_lock(&gus->reg_lock);
gus               612 sound/isa/gus/gus_pcm.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL, val);
gus               613 sound/isa/gus/gus_pcm.c 	snd_gf1_look8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL);
gus               614 sound/isa/gus/gus_pcm.c 	spin_unlock(&gus->reg_lock);
gus               620 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               621 sound/isa/gus/gus_pcm.c 	int pos = snd_dma_pointer(gus->gf1.dma2, gus->c_period_size);
gus               622 sound/isa/gus/gus_pcm.c 	pos = bytes_to_frames(substream->runtime, (gus->c_pos + pos) % gus->c_dma_size);
gus               626 sound/isa/gus/gus_pcm.c static void snd_gf1_pcm_interrupt_dma_read(struct snd_gus_card * gus)
gus               628 sound/isa/gus/gus_pcm.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL, 0);	/* disable sampling */
gus               629 sound/isa/gus/gus_pcm.c 	snd_gf1_i_look8(gus, SNDRV_GF1_GB_REC_DMA_CONTROL);	/* Sampling Control Register */
gus               630 sound/isa/gus/gus_pcm.c 	if (gus->pcm_cap_substream != NULL) {
gus               631 sound/isa/gus/gus_pcm.c 		snd_gf1_pcm_capture_prepare(gus->pcm_cap_substream); 
gus               632 sound/isa/gus/gus_pcm.c 		snd_gf1_pcm_capture_trigger(gus->pcm_cap_substream, SNDRV_PCM_TRIGGER_START);
gus               633 sound/isa/gus/gus_pcm.c 		gus->c_pos += gus->c_period_size;
gus               634 sound/isa/gus/gus_pcm.c 		snd_pcm_period_elapsed(gus->pcm_cap_substream);
gus               682 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               689 sound/isa/gus/gus_pcm.c 	pcmp->gus = gus;
gus               699 sound/isa/gus/gus_pcm.c 	       (long) pcm->playback.buffer, (long) gus->gf1.pcm_buffer);
gus               701 sound/isa/gus/gus_pcm.c 	if ((err = snd_gf1_dma_init(gus)) < 0)
gus               706 sound/isa/gus/gus_pcm.c 	snd_pcm_limit_isa_dma_size(gus->gf1.dma1, &runtime->hw.buffer_bytes_max);
gus               707 sound/isa/gus/gus_pcm.c 	snd_pcm_limit_isa_dma_size(gus->gf1.dma1, &runtime->hw.period_bytes_max);
gus               714 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               721 sound/isa/gus/gus_pcm.c 	snd_gf1_dma_done(gus);	
gus               728 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               730 sound/isa/gus/gus_pcm.c 	gus->gf1.interrupt_handler_dma_read = snd_gf1_pcm_interrupt_dma_read;
gus               731 sound/isa/gus/gus_pcm.c 	gus->pcm_cap_substream = substream;
gus               733 sound/isa/gus/gus_pcm.c 	snd_pcm_limit_isa_dma_size(gus->gf1.dma2, &runtime->hw.buffer_bytes_max);
gus               734 sound/isa/gus/gus_pcm.c 	snd_pcm_limit_isa_dma_size(gus->gf1.dma2, &runtime->hw.period_bytes_max);
gus               742 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_pcm_substream_chip(substream);
gus               744 sound/isa/gus/gus_pcm.c 	gus->pcm_cap_substream = NULL;
gus               745 sound/isa/gus/gus_pcm.c 	snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_DMA_READ);
gus               760 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus               763 sound/isa/gus/gus_pcm.c 	spin_lock_irqsave(&gus->pcm_volume_level_lock, flags);
gus               764 sound/isa/gus/gus_pcm.c 	ucontrol->value.integer.value[0] = gus->gf1.pcm_volume_level_left1;
gus               765 sound/isa/gus/gus_pcm.c 	ucontrol->value.integer.value[1] = gus->gf1.pcm_volume_level_right1;
gus               766 sound/isa/gus/gus_pcm.c 	spin_unlock_irqrestore(&gus->pcm_volume_level_lock, flags);
gus               772 sound/isa/gus/gus_pcm.c 	struct snd_gus_card *gus = snd_kcontrol_chip(kcontrol);
gus               782 sound/isa/gus/gus_pcm.c 	spin_lock_irqsave(&gus->pcm_volume_level_lock, flags);
gus               783 sound/isa/gus/gus_pcm.c 	change = val1 != gus->gf1.pcm_volume_level_left1 ||
gus               784 sound/isa/gus/gus_pcm.c 	         val2 != gus->gf1.pcm_volume_level_right1;
gus               785 sound/isa/gus/gus_pcm.c 	gus->gf1.pcm_volume_level_left1 = val1;
gus               786 sound/isa/gus/gus_pcm.c 	gus->gf1.pcm_volume_level_right1 = val2;
gus               787 sound/isa/gus/gus_pcm.c 	gus->gf1.pcm_volume_level_left = snd_gf1_lvol_to_gvol_raw(val1 << 9) << 4;
gus               788 sound/isa/gus/gus_pcm.c 	gus->gf1.pcm_volume_level_right = snd_gf1_lvol_to_gvol_raw(val2 << 9) << 4;
gus               789 sound/isa/gus/gus_pcm.c 	spin_unlock_irqrestore(&gus->pcm_volume_level_lock, flags);
gus               791 sound/isa/gus/gus_pcm.c 	spin_lock_irqsave(&gus->voice_alloc, flags);
gus               793 sound/isa/gus/gus_pcm.c 		pvoice = &gus->gf1.voices[idx];
gus               800 sound/isa/gus/gus_pcm.c 		spin_lock(&gus->reg_lock);
gus               801 sound/isa/gus/gus_pcm.c 		snd_gf1_select_voice(gus, pvoice->number);
gus               802 sound/isa/gus/gus_pcm.c 		snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_VOLUME_CONTROL);
gus               803 sound/isa/gus/gus_pcm.c 		vol = pvoice == pcmp->pvoices[0] ? gus->gf1.pcm_volume_level_left : gus->gf1.pcm_volume_level_right;
gus               804 sound/isa/gus/gus_pcm.c 		snd_gf1_write16(gus, SNDRV_GF1_VW_VOLUME, vol);
gus               806 sound/isa/gus/gus_pcm.c 		spin_unlock(&gus->reg_lock);
gus               808 sound/isa/gus/gus_pcm.c 	spin_unlock_irqrestore(&gus->voice_alloc, flags);
gus               855 sound/isa/gus/gus_pcm.c int snd_gf1_pcm_new(struct snd_gus_card *gus, int pcm_dev, int control_index)
gus               863 sound/isa/gus/gus_pcm.c 	card = gus->card;
gus               864 sound/isa/gus/gus_pcm.c 	capture = !gus->interwave && !gus->ess_flag && !gus->ace_flag ? 1 : 0;
gus               866 sound/isa/gus/gus_pcm.c 			  gus->interwave ? "AMD InterWave" : "GF1",
gus               868 sound/isa/gus/gus_pcm.c 			  gus->gf1.pcm_channels / 2,
gus               873 sound/isa/gus/gus_pcm.c 	pcm->private_data = gus;
gus               880 sound/isa/gus/gus_pcm.c 					      64*1024, gus->gf1.dma1 > 3 ? 128*1024 : 64*1024);
gus               886 sound/isa/gus/gus_pcm.c 		if (gus->gf1.dma2 == gus->gf1.dma1)
gus               890 sound/isa/gus/gus_pcm.c 					      64*1024, gus->gf1.dma2 > 3 ? 128*1024 : 64*1024);
gus               893 sound/isa/gus/gus_pcm.c 	if (gus->interwave) {
gus               894 sound/isa/gus/gus_pcm.c 		sprintf(pcm->name + strlen(pcm->name), " rev %c", gus->revision + 'A');
gus               897 sound/isa/gus/gus_pcm.c 	gus->pcm = pcm;
gus               899 sound/isa/gus/gus_pcm.c 	if (gus->codec_flag)
gus               900 sound/isa/gus/gus_pcm.c 		kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control1, gus);
gus               902 sound/isa/gus/gus_pcm.c 		kctl = snd_ctl_new1(&snd_gf1_pcm_volume_control, gus);
gus                12 sound/isa/gus/gus_reset.c extern void snd_gf1_timers_init(struct snd_gus_card * gus);
gus                13 sound/isa/gus/gus_reset.c extern void snd_gf1_timers_done(struct snd_gus_card * gus);
gus                14 sound/isa/gus/gus_reset.c extern int snd_gf1_synth_init(struct snd_gus_card * gus);
gus                15 sound/isa/gus/gus_reset.c extern void snd_gf1_synth_done(struct snd_gus_card * gus);
gus                21 sound/isa/gus/gus_reset.c static void snd_gf1_default_interrupt_handler_midi_out(struct snd_gus_card * gus)
gus                23 sound/isa/gus/gus_reset.c 	snd_gf1_uart_cmd(gus, gus->gf1.uart_cmd &= ~0x20);
gus                26 sound/isa/gus/gus_reset.c static void snd_gf1_default_interrupt_handler_midi_in(struct snd_gus_card * gus)
gus                28 sound/isa/gus/gus_reset.c 	snd_gf1_uart_cmd(gus, gus->gf1.uart_cmd &= ~0x80);
gus                31 sound/isa/gus/gus_reset.c static void snd_gf1_default_interrupt_handler_timer1(struct snd_gus_card * gus)
gus                33 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, gus->gf1.timer_enabled &= ~4);
gus                36 sound/isa/gus/gus_reset.c static void snd_gf1_default_interrupt_handler_timer2(struct snd_gus_card * gus)
gus                38 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, gus->gf1.timer_enabled &= ~8);
gus                41 sound/isa/gus/gus_reset.c static void snd_gf1_default_interrupt_handler_wave_and_volume(struct snd_gus_card * gus, struct snd_gus_voice * voice)
gus                43 sound/isa/gus/gus_reset.c 	snd_gf1_i_ctrl_stop(gus, 0x00);
gus                44 sound/isa/gus/gus_reset.c 	snd_gf1_i_ctrl_stop(gus, 0x0d);
gus                47 sound/isa/gus/gus_reset.c static void snd_gf1_default_interrupt_handler_dma_write(struct snd_gus_card * gus)
gus                49 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, 0x41, 0x00);
gus                52 sound/isa/gus/gus_reset.c static void snd_gf1_default_interrupt_handler_dma_read(struct snd_gus_card * gus)
gus                54 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, 0x49, 0x00);
gus                57 sound/isa/gus/gus_reset.c void snd_gf1_set_default_handlers(struct snd_gus_card * gus, unsigned int what)
gus                60 sound/isa/gus/gus_reset.c 		gus->gf1.interrupt_handler_midi_out = snd_gf1_default_interrupt_handler_midi_out;
gus                62 sound/isa/gus/gus_reset.c 		gus->gf1.interrupt_handler_midi_in = snd_gf1_default_interrupt_handler_midi_in;
gus                64 sound/isa/gus/gus_reset.c 		gus->gf1.interrupt_handler_timer1 = snd_gf1_default_interrupt_handler_timer1;
gus                66 sound/isa/gus/gus_reset.c 		gus->gf1.interrupt_handler_timer2 = snd_gf1_default_interrupt_handler_timer2;
gus                70 sound/isa/gus/gus_reset.c 		voice = &gus->gf1.voices[what & 0xffff];
gus                77 sound/isa/gus/gus_reset.c 		gus->gf1.interrupt_handler_dma_write = snd_gf1_default_interrupt_handler_dma_write;
gus                79 sound/isa/gus/gus_reset.c 		gus->gf1.interrupt_handler_dma_read = snd_gf1_default_interrupt_handler_dma_read;
gus                86 sound/isa/gus/gus_reset.c static void snd_gf1_clear_regs(struct snd_gus_card * gus)
gus                90 sound/isa/gus/gus_reset.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                91 sound/isa/gus/gus_reset.c 	inb(GUSP(gus, IRQSTAT));
gus                92 sound/isa/gus/gus_reset.c 	snd_gf1_write8(gus, 0x41, 0);	/* DRAM DMA Control Register */
gus                93 sound/isa/gus/gus_reset.c 	snd_gf1_write8(gus, 0x45, 0);	/* Timer Control */
gus                94 sound/isa/gus/gus_reset.c 	snd_gf1_write8(gus, 0x49, 0);	/* Sampling Control Register */
gus                95 sound/isa/gus/gus_reset.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                98 sound/isa/gus/gus_reset.c static void snd_gf1_look_regs(struct snd_gus_card * gus)
gus               102 sound/isa/gus/gus_reset.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               103 sound/isa/gus/gus_reset.c 	snd_gf1_look8(gus, 0x41);	/* DRAM DMA Control Register */
gus               104 sound/isa/gus/gus_reset.c 	snd_gf1_look8(gus, 0x49);	/* Sampling Control Register */
gus               105 sound/isa/gus/gus_reset.c 	inb(GUSP(gus, IRQSTAT));
gus               106 sound/isa/gus/gus_reset.c 	snd_gf1_read8(gus, 0x0f);	/* IRQ Source Register */
gus               107 sound/isa/gus/gus_reset.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               114 sound/isa/gus/gus_reset.c void snd_gf1_smart_stop_voice(struct snd_gus_card * gus, unsigned short voice)
gus               118 sound/isa/gus/gus_reset.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               119 sound/isa/gus/gus_reset.c 	snd_gf1_select_voice(gus, voice);
gus               121 sound/isa/gus/gus_reset.c 	printk(KERN_DEBUG " -%i- smart stop voice - volume = 0x%x\n", voice, snd_gf1_i_read16(gus, SNDRV_GF1_VW_VOLUME));
gus               123 sound/isa/gus/gus_reset.c 	snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_ADDRESS_CONTROL);
gus               124 sound/isa/gus/gus_reset.c 	snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_VOLUME_CONTROL);
gus               125 sound/isa/gus/gus_reset.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               128 sound/isa/gus/gus_reset.c void snd_gf1_stop_voice(struct snd_gus_card * gus, unsigned short voice)
gus               132 sound/isa/gus/gus_reset.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               133 sound/isa/gus/gus_reset.c 	snd_gf1_select_voice(gus, voice);
gus               135 sound/isa/gus/gus_reset.c 	printk(KERN_DEBUG " -%i- stop voice - volume = 0x%x\n", voice, snd_gf1_i_read16(gus, SNDRV_GF1_VW_VOLUME));
gus               137 sound/isa/gus/gus_reset.c 	snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_ADDRESS_CONTROL);
gus               138 sound/isa/gus/gus_reset.c 	snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_VOLUME_CONTROL);
gus               139 sound/isa/gus/gus_reset.c 	if (gus->gf1.enh_mode)
gus               140 sound/isa/gus/gus_reset.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_ACCUMULATOR, 0);
gus               141 sound/isa/gus/gus_reset.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               143 sound/isa/gus/gus_reset.c 	snd_gf1_lfo_shutdown(gus, voice, ULTRA_LFO_VIBRATO);
gus               144 sound/isa/gus/gus_reset.c 	snd_gf1_lfo_shutdown(gus, voice, ULTRA_LFO_TREMOLO);
gus               148 sound/isa/gus/gus_reset.c static void snd_gf1_clear_voices(struct snd_gus_card * gus, unsigned short v_min,
gus               155 sound/isa/gus/gus_reset.c 	daddr = gus->gf1.default_voice_address << 4;
gus               158 sound/isa/gus/gus_reset.c 		if (gus->gf1.syn_voices)
gus               159 sound/isa/gus/gus_reset.c 			gus->gf1.syn_voices[i].flags = ~VFLG_DYNAMIC;
gus               161 sound/isa/gus/gus_reset.c 		spin_lock_irqsave(&gus->reg_lock, flags);
gus               162 sound/isa/gus/gus_reset.c 		snd_gf1_select_voice(gus, i);
gus               163 sound/isa/gus/gus_reset.c 		snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_ADDRESS_CONTROL);	/* Voice Control Register = voice stop */
gus               164 sound/isa/gus/gus_reset.c 		snd_gf1_ctrl_stop(gus, SNDRV_GF1_VB_VOLUME_CONTROL);	/* Volume Ramp Control Register = ramp off */
gus               165 sound/isa/gus/gus_reset.c 		if (gus->gf1.enh_mode)
gus               166 sound/isa/gus/gus_reset.c 			snd_gf1_write8(gus, SNDRV_GF1_VB_MODE, gus->gf1.memory ? 0x02 : 0x82);	/* Deactivate voice */
gus               167 sound/isa/gus/gus_reset.c 		w_16 = snd_gf1_read8(gus, SNDRV_GF1_VB_ADDRESS_CONTROL) & 0x04;
gus               168 sound/isa/gus/gus_reset.c 		snd_gf1_write16(gus, SNDRV_GF1_VW_FREQUENCY, 0x400);
gus               169 sound/isa/gus/gus_reset.c 		snd_gf1_write_addr(gus, SNDRV_GF1_VA_START, daddr, w_16);
gus               170 sound/isa/gus/gus_reset.c 		snd_gf1_write_addr(gus, SNDRV_GF1_VA_END, daddr, w_16);
gus               171 sound/isa/gus/gus_reset.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_START, 0);
gus               172 sound/isa/gus/gus_reset.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_END, 0);
gus               173 sound/isa/gus/gus_reset.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_RATE, 0);
gus               174 sound/isa/gus/gus_reset.c 		snd_gf1_write16(gus, SNDRV_GF1_VW_VOLUME, 0);
gus               175 sound/isa/gus/gus_reset.c 		snd_gf1_write_addr(gus, SNDRV_GF1_VA_CURRENT, daddr, w_16);
gus               176 sound/isa/gus/gus_reset.c 		snd_gf1_write8(gus, SNDRV_GF1_VB_PAN, 7);
gus               177 sound/isa/gus/gus_reset.c 		if (gus->gf1.enh_mode) {
gus               178 sound/isa/gus/gus_reset.c 			snd_gf1_write8(gus, SNDRV_GF1_VB_ACCUMULATOR, 0);
gus               179 sound/isa/gus/gus_reset.c 			snd_gf1_write16(gus, SNDRV_GF1_VW_EFFECT_VOLUME, 0);
gus               180 sound/isa/gus/gus_reset.c 			snd_gf1_write16(gus, SNDRV_GF1_VW_EFFECT_VOLUME_FINAL, 0);
gus               182 sound/isa/gus/gus_reset.c 		spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               184 sound/isa/gus/gus_reset.c 		snd_gf1_lfo_shutdown(gus, i, ULTRA_LFO_VIBRATO);
gus               185 sound/isa/gus/gus_reset.c 		snd_gf1_lfo_shutdown(gus, i, ULTRA_LFO_TREMOLO);
gus               190 sound/isa/gus/gus_reset.c void snd_gf1_stop_voices(struct snd_gus_card * gus, unsigned short v_min, unsigned short v_max)
gus               198 sound/isa/gus/gus_reset.c 			spin_lock_irqsave(&gus->reg_lock, flags);
gus               199 sound/isa/gus/gus_reset.c 			snd_gf1_select_voice(gus, i);
gus               200 sound/isa/gus/gus_reset.c 			ramp_end = snd_gf1_read16(gus, 9) >> 8;
gus               203 sound/isa/gus/gus_reset.c 				snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_RATE, 20);	/* ramp rate */
gus               204 sound/isa/gus/gus_reset.c 				snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_START, SNDRV_GF1_MIN_OFFSET);	/* ramp start */
gus               205 sound/isa/gus/gus_reset.c 				snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_END, ramp_end);	/* ramp end */
gus               206 sound/isa/gus/gus_reset.c 				snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_CONTROL, 0x40);	/* ramp down */
gus               207 sound/isa/gus/gus_reset.c 				if (gus->gf1.enh_mode) {
gus               208 sound/isa/gus/gus_reset.c 					snd_gf1_delay(gus);
gus               209 sound/isa/gus/gus_reset.c 					snd_gf1_write8(gus, SNDRV_GF1_VB_VOLUME_CONTROL, 0x40);
gus               212 sound/isa/gus/gus_reset.c 			spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               216 sound/isa/gus/gus_reset.c 	snd_gf1_clear_voices(gus, v_min, v_max);
gus               219 sound/isa/gus/gus_reset.c static void snd_gf1_alloc_voice_use(struct snd_gus_card * gus, 
gus               226 sound/isa/gus/gus_reset.c 		gus->gf1.pcm_alloc_voices++;
gus               242 sound/isa/gus/gus_reset.c struct snd_gus_voice *snd_gf1_alloc_voice(struct snd_gus_card * gus, int type, int client, int port)
gus               248 sound/isa/gus/gus_reset.c 	spin_lock_irqsave(&gus->voice_alloc, flags);
gus               250 sound/isa/gus/gus_reset.c 		if (gus->gf1.pcm_alloc_voices >= gus->gf1.pcm_channels) {
gus               251 sound/isa/gus/gus_reset.c 			spin_unlock_irqrestore(&gus->voice_alloc, flags);
gus               256 sound/isa/gus/gus_reset.c 		pvoice = &gus->gf1.voices[idx];
gus               258 sound/isa/gus/gus_reset.c 			snd_gf1_alloc_voice_use(gus, pvoice, type, client, port);
gus               259 sound/isa/gus/gus_reset.c 			spin_unlock_irqrestore(&gus->voice_alloc, flags);
gus               264 sound/isa/gus/gus_reset.c 		pvoice = &gus->gf1.voices[idx];
gus               266 sound/isa/gus/gus_reset.c 			snd_gf1_clear_voices(gus, pvoice->number, pvoice->number);
gus               267 sound/isa/gus/gus_reset.c 			snd_gf1_alloc_voice_use(gus, pvoice, type, client, port);
gus               268 sound/isa/gus/gus_reset.c 			spin_unlock_irqrestore(&gus->voice_alloc, flags);
gus               272 sound/isa/gus/gus_reset.c 	spin_unlock_irqrestore(&gus->voice_alloc, flags);
gus               276 sound/isa/gus/gus_reset.c void snd_gf1_free_voice(struct snd_gus_card * gus, struct snd_gus_voice *voice)
gus               283 sound/isa/gus/gus_reset.c 	snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_VOICE | voice->number);
gus               284 sound/isa/gus/gus_reset.c 	snd_gf1_clear_voices(gus, voice->number, voice->number);
gus               285 sound/isa/gus/gus_reset.c 	spin_lock_irqsave(&gus->voice_alloc, flags);
gus               290 sound/isa/gus/gus_reset.c 		gus->gf1.pcm_alloc_voices--;
gus               293 sound/isa/gus/gus_reset.c 	spin_unlock_irqrestore(&gus->voice_alloc, flags);
gus               302 sound/isa/gus/gus_reset.c int snd_gf1_start(struct snd_gus_card * gus)
gus               307 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 0);	/* reset GF1 */
gus               309 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 1);	/* disable IRQ & DAC */
gus               311 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_JOYSTICK_DAC_LEVEL, gus->joystick_dac);
gus               313 sound/isa/gus/gus_reset.c 	snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_ALL);
gus               315 sound/isa/gus/gus_reset.c 		gus->gf1.voices[i].number = i;
gus               316 sound/isa/gus/gus_reset.c 		snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_VOICE | i);
gus               319 sound/isa/gus/gus_reset.c 	snd_gf1_uart_cmd(gus, 0x03);	/* huh.. this cleanup took me some time... */
gus               321 sound/isa/gus/gus_reset.c 	if (gus->gf1.enh_mode) {	/* enhanced mode !!!! */
gus               322 sound/isa/gus/gus_reset.c 		snd_gf1_i_write8(gus, SNDRV_GF1_GB_GLOBAL_MODE, snd_gf1_i_look8(gus, SNDRV_GF1_GB_GLOBAL_MODE) | 0x01);
gus               323 sound/isa/gus/gus_reset.c 		snd_gf1_i_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x01);
gus               325 sound/isa/gus/gus_reset.c 	snd_gf1_clear_regs(gus);
gus               326 sound/isa/gus/gus_reset.c 	snd_gf1_select_active_voices(gus);
gus               327 sound/isa/gus/gus_reset.c 	snd_gf1_delay(gus);
gus               328 sound/isa/gus/gus_reset.c 	gus->gf1.default_voice_address = gus->gf1.memory > 0 ? 0 : 512 - 8;
gus               330 sound/isa/gus/gus_reset.c 	if (gus->gf1.enh_mode && gus->gf1.memory) {
gus               331 sound/isa/gus/gus_reset.c 		gus->gf1.hw_lfo = 1;
gus               332 sound/isa/gus/gus_reset.c 		gus->gf1.default_voice_address += 1024;
gus               334 sound/isa/gus/gus_reset.c 		gus->gf1.sw_lfo = 1;
gus               337 sound/isa/gus/gus_reset.c 	snd_gf1_lfo_init(gus);
gus               339 sound/isa/gus/gus_reset.c 	if (gus->gf1.memory > 0)
gus               341 sound/isa/gus/gus_reset.c 			snd_gf1_poke(gus, gus->gf1.default_voice_address + i, 0);
gus               342 sound/isa/gus/gus_reset.c 	snd_gf1_clear_regs(gus);
gus               343 sound/isa/gus/gus_reset.c 	snd_gf1_clear_voices(gus, 0, 31);
gus               344 sound/isa/gus/gus_reset.c 	snd_gf1_look_regs(gus);
gus               346 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 7);	/* Reset Register = IRQ enable, DAC enable */
gus               348 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 7);	/* Reset Register = IRQ enable, DAC enable */
gus               349 sound/isa/gus/gus_reset.c 	if (gus->gf1.enh_mode) {	/* enhanced mode !!!! */
gus               350 sound/isa/gus/gus_reset.c 		snd_gf1_i_write8(gus, SNDRV_GF1_GB_GLOBAL_MODE, snd_gf1_i_look8(gus, SNDRV_GF1_GB_GLOBAL_MODE) | 0x01);
gus               351 sound/isa/gus/gus_reset.c 		snd_gf1_i_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x01);
gus               353 sound/isa/gus/gus_reset.c 	while ((snd_gf1_i_read8(gus, SNDRV_GF1_GB_VOICES_IRQ) & 0xc0) != 0xc0);
gus               355 sound/isa/gus/gus_reset.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               356 sound/isa/gus/gus_reset.c 	outb(gus->gf1.active_voice = 0, GUSP(gus, GF1PAGE));
gus               357 sound/isa/gus/gus_reset.c 	outb(gus->mix_cntrl_reg, GUSP(gus, MIXCNTRLREG));
gus               358 sound/isa/gus/gus_reset.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               360 sound/isa/gus/gus_reset.c 	snd_gf1_timers_init(gus);
gus               361 sound/isa/gus/gus_reset.c 	snd_gf1_look_regs(gus);
gus               362 sound/isa/gus/gus_reset.c 	snd_gf1_mem_init(gus);
gus               363 sound/isa/gus/gus_reset.c 	snd_gf1_mem_proc_init(gus);
gus               365 sound/isa/gus/gus_reset.c 	snd_gus_irq_profile_init(gus);
gus               369 sound/isa/gus/gus_reset.c 	if (gus->pnp_flag) {
gus               370 sound/isa/gus/gus_reset.c 		if (gus->chip.playback_fifo_size > 0)
gus               371 sound/isa/gus/gus_reset.c 			snd_gf1_i_write16(gus, SNDRV_GF1_GW_FIFO_RECORD_BASE_ADDR, gus->chip.playback_fifo_block->ptr >> 8);
gus               372 sound/isa/gus/gus_reset.c 		if (gus->chip.record_fifo_size > 0)
gus               373 sound/isa/gus/gus_reset.c 			snd_gf1_i_write16(gus, SNDRV_GF1_GW_FIFO_PLAY_BASE_ADDR, gus->chip.record_fifo_block->ptr >> 8);
gus               374 sound/isa/gus/gus_reset.c 		snd_gf1_i_write16(gus, SNDRV_GF1_GW_FIFO_SIZE, gus->chip.interwave_fifo_reg);
gus               385 sound/isa/gus/gus_reset.c int snd_gf1_stop(struct snd_gus_card * gus)
gus               387 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, 0); /* stop all timers */
gus               388 sound/isa/gus/gus_reset.c 	snd_gf1_stop_voices(gus, 0, 31);		/* stop all voices */
gus               389 sound/isa/gus/gus_reset.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 1);	/* disable IRQ & DAC */
gus               390 sound/isa/gus/gus_reset.c 	snd_gf1_timers_done(gus);
gus               391 sound/isa/gus/gus_reset.c 	snd_gf1_mem_done(gus);
gus               393 sound/isa/gus/gus_reset.c 	snd_gf1_lfo_done(gus);
gus                22 sound/isa/gus/gus_timer.c 	struct snd_gus_card *gus;
gus                24 sound/isa/gus/gus_timer.c 	gus = snd_timer_chip(timer);
gus                25 sound/isa/gus/gus_timer.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                27 sound/isa/gus/gus_timer.c 	tmp = (gus->gf1.timer_enabled |= 4);
gus                28 sound/isa/gus/gus_timer.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_ADLIB_TIMER_1, 256 - ticks);	/* timer 1 count */
gus                29 sound/isa/gus/gus_timer.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, tmp);	/* enable timer 1 IRQ */
gus                30 sound/isa/gus/gus_timer.c 	snd_gf1_adlib_write(gus, 0x04, tmp >> 2);	/* timer 2 start */
gus                31 sound/isa/gus/gus_timer.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                39 sound/isa/gus/gus_timer.c 	struct snd_gus_card *gus;
gus                41 sound/isa/gus/gus_timer.c 	gus = snd_timer_chip(timer);
gus                42 sound/isa/gus/gus_timer.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                43 sound/isa/gus/gus_timer.c 	tmp = (gus->gf1.timer_enabled &= ~4);
gus                44 sound/isa/gus/gus_timer.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, tmp);	/* disable timer #1 */
gus                45 sound/isa/gus/gus_timer.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                58 sound/isa/gus/gus_timer.c 	struct snd_gus_card *gus;
gus                60 sound/isa/gus/gus_timer.c 	gus = snd_timer_chip(timer);
gus                61 sound/isa/gus/gus_timer.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                63 sound/isa/gus/gus_timer.c 	tmp = (gus->gf1.timer_enabled |= 8);
gus                64 sound/isa/gus/gus_timer.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_ADLIB_TIMER_2, 256 - ticks);	/* timer 2 count */
gus                65 sound/isa/gus/gus_timer.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, tmp);	/* enable timer 2 IRQ */
gus                66 sound/isa/gus/gus_timer.c 	snd_gf1_adlib_write(gus, 0x04, tmp >> 2);	/* timer 2 start */
gus                67 sound/isa/gus/gus_timer.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                75 sound/isa/gus/gus_timer.c 	struct snd_gus_card *gus;
gus                77 sound/isa/gus/gus_timer.c 	gus = snd_timer_chip(timer);
gus                78 sound/isa/gus/gus_timer.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus                79 sound/isa/gus/gus_timer.c 	tmp = (gus->gf1.timer_enabled &= ~8);
gus                80 sound/isa/gus/gus_timer.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, tmp);	/* disable timer #1 */
gus                81 sound/isa/gus/gus_timer.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus                89 sound/isa/gus/gus_timer.c static void snd_gf1_interrupt_timer1(struct snd_gus_card * gus)
gus                91 sound/isa/gus/gus_timer.c 	struct snd_timer *timer = gus->gf1.timer1;
gus                98 sound/isa/gus/gus_timer.c static void snd_gf1_interrupt_timer2(struct snd_gus_card * gus)
gus               100 sound/isa/gus/gus_timer.c 	struct snd_timer *timer = gus->gf1.timer2;
gus               131 sound/isa/gus/gus_timer.c 	struct snd_gus_card *gus = timer->private_data;
gus               132 sound/isa/gus/gus_timer.c 	gus->gf1.timer1 = NULL;
gus               137 sound/isa/gus/gus_timer.c 	struct snd_gus_card *gus = timer->private_data;
gus               138 sound/isa/gus/gus_timer.c 	gus->gf1.timer2 = NULL;
gus               141 sound/isa/gus/gus_timer.c void snd_gf1_timers_init(struct snd_gus_card * gus)
gus               146 sound/isa/gus/gus_timer.c 	if (gus->gf1.timer1 != NULL || gus->gf1.timer2 != NULL)
gus               149 sound/isa/gus/gus_timer.c 	gus->gf1.interrupt_handler_timer1 = snd_gf1_interrupt_timer1;
gus               150 sound/isa/gus/gus_timer.c 	gus->gf1.interrupt_handler_timer2 = snd_gf1_interrupt_timer2;
gus               154 sound/isa/gus/gus_timer.c 	tid.card = gus->card->number;
gus               155 sound/isa/gus/gus_timer.c 	tid.device = gus->timer_dev;
gus               158 sound/isa/gus/gus_timer.c 	if (snd_timer_new(gus->card, "GF1 timer", &tid, &timer) >= 0) {
gus               160 sound/isa/gus/gus_timer.c 		timer->private_data = gus;
gus               164 sound/isa/gus/gus_timer.c 	gus->gf1.timer1 = timer;
gus               168 sound/isa/gus/gus_timer.c 	if (snd_timer_new(gus->card, "GF1 timer", &tid, &timer) >= 0) {
gus               170 sound/isa/gus/gus_timer.c 		timer->private_data = gus;
gus               174 sound/isa/gus/gus_timer.c 	gus->gf1.timer2 = timer;
gus               177 sound/isa/gus/gus_timer.c void snd_gf1_timers_done(struct snd_gus_card * gus)
gus               179 sound/isa/gus/gus_timer.c 	snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_TIMER1 | SNDRV_GF1_HANDLER_TIMER2);
gus               180 sound/isa/gus/gus_timer.c 	if (gus->gf1.timer1) {
gus               181 sound/isa/gus/gus_timer.c 		snd_device_free(gus->card, gus->gf1.timer1);
gus               182 sound/isa/gus/gus_timer.c 		gus->gf1.timer1 = NULL;
gus               184 sound/isa/gus/gus_timer.c 	if (gus->gf1.timer2) {
gus               185 sound/isa/gus/gus_timer.c 		snd_device_free(gus->card, gus->gf1.timer2);
gus               186 sound/isa/gus/gus_timer.c 		gus->gf1.timer2 = NULL;
gus                13 sound/isa/gus/gus_uart.c static void snd_gf1_interrupt_midi_in(struct snd_gus_card * gus)
gus                21 sound/isa/gus/gus_uart.c 		spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus                22 sound/isa/gus/gus_uart.c 		stat = snd_gf1_uart_stat(gus);
gus                24 sound/isa/gus/gus_uart.c 			spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus                29 sound/isa/gus/gus_uart.c 		data = snd_gf1_uart_get(gus);
gus                30 sound/isa/gus/gus_uart.c 		if (!(gus->gf1.uart_cmd & 0x80)) {
gus                31 sound/isa/gus/gus_uart.c 			spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus                35 sound/isa/gus/gus_uart.c 			gus->gf1.uart_framing++;
gus                36 sound/isa/gus/gus_uart.c 			spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus                39 sound/isa/gus/gus_uart.c 		byte = snd_gf1_uart_get(gus);
gus                40 sound/isa/gus/gus_uart.c 		spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus                41 sound/isa/gus/gus_uart.c 		snd_rawmidi_receive(gus->midi_substream_input, &byte, 1);
gus                43 sound/isa/gus/gus_uart.c 			gus->gf1.uart_overrun++;
gus                48 sound/isa/gus/gus_uart.c static void snd_gf1_interrupt_midi_out(struct snd_gus_card * gus)
gus                54 sound/isa/gus/gus_uart.c 	if (snd_gf1_uart_stat(gus) & 0x01)
gus                55 sound/isa/gus/gus_uart.c 		snd_gf1_interrupt_midi_in(gus);
gus                57 sound/isa/gus/gus_uart.c 	spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus                58 sound/isa/gus/gus_uart.c 	if (snd_gf1_uart_stat(gus) & 0x02) {	/* Tx FIFO free? */
gus                59 sound/isa/gus/gus_uart.c 		if (snd_rawmidi_transmit(gus->midi_substream_output, &byte, 1) != 1) {	/* no other bytes or error */
gus                60 sound/isa/gus/gus_uart.c 			snd_gf1_uart_cmd(gus, gus->gf1.uart_cmd & ~0x20); /* disable Tx interrupt */
gus                62 sound/isa/gus/gus_uart.c 			snd_gf1_uart_put(gus, byte);
gus                65 sound/isa/gus/gus_uart.c 	spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus                68 sound/isa/gus/gus_uart.c static void snd_gf1_uart_reset(struct snd_gus_card * gus, int close)
gus                70 sound/isa/gus/gus_uart.c 	snd_gf1_uart_cmd(gus, 0x03);	/* reset */
gus                71 sound/isa/gus/gus_uart.c 	if (!close && gus->uart_enable) {
gus                73 sound/isa/gus/gus_uart.c 		snd_gf1_uart_cmd(gus, 0x00);	/* normal operations */
gus                80 sound/isa/gus/gus_uart.c 	struct snd_gus_card *gus;
gus                82 sound/isa/gus/gus_uart.c 	gus = substream->rmidi->private_data;
gus                83 sound/isa/gus/gus_uart.c 	spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus                84 sound/isa/gus/gus_uart.c 	if (!(gus->gf1.uart_cmd & 0x80)) {	/* input active? */
gus                85 sound/isa/gus/gus_uart.c 		snd_gf1_uart_reset(gus, 0);
gus                87 sound/isa/gus/gus_uart.c 	gus->gf1.interrupt_handler_midi_out = snd_gf1_interrupt_midi_out;
gus                88 sound/isa/gus/gus_uart.c 	gus->midi_substream_output = substream;
gus                89 sound/isa/gus/gus_uart.c 	spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus                91 sound/isa/gus/gus_uart.c 	snd_printk(KERN_DEBUG "write init - cmd = 0x%x, stat = 0x%x\n", gus->gf1.uart_cmd, snd_gf1_uart_stat(gus));
gus                99 sound/isa/gus/gus_uart.c 	struct snd_gus_card *gus;
gus               102 sound/isa/gus/gus_uart.c 	gus = substream->rmidi->private_data;
gus               103 sound/isa/gus/gus_uart.c 	spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus               104 sound/isa/gus/gus_uart.c 	if (gus->gf1.interrupt_handler_midi_out != snd_gf1_interrupt_midi_out) {
gus               105 sound/isa/gus/gus_uart.c 		snd_gf1_uart_reset(gus, 0);
gus               107 sound/isa/gus/gus_uart.c 	gus->gf1.interrupt_handler_midi_in = snd_gf1_interrupt_midi_in;
gus               108 sound/isa/gus/gus_uart.c 	gus->midi_substream_input = substream;
gus               109 sound/isa/gus/gus_uart.c 	if (gus->uart_enable) {
gus               110 sound/isa/gus/gus_uart.c 		for (i = 0; i < 1000 && (snd_gf1_uart_stat(gus) & 0x01); i++)
gus               111 sound/isa/gus/gus_uart.c 			snd_gf1_uart_get(gus);	/* clean Rx */
gus               115 sound/isa/gus/gus_uart.c 	spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               119 sound/isa/gus/gus_uart.c 		   gus->uart_enable, gus->gf1.uart_cmd, snd_gf1_uart_stat(gus));
gus               123 sound/isa/gus/gus_uart.c 		   gus->gf1.port + 0x100, inb(gus->gf1.port + 0x100),
gus               124 sound/isa/gus/gus_uart.c 		   inb(gus->gf1.port + 0x101), inb(gus->gf1.port + 0x102));
gus               132 sound/isa/gus/gus_uart.c 	struct snd_gus_card *gus;
gus               134 sound/isa/gus/gus_uart.c 	gus = substream->rmidi->private_data;
gus               135 sound/isa/gus/gus_uart.c 	spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus               136 sound/isa/gus/gus_uart.c 	if (gus->gf1.interrupt_handler_midi_in != snd_gf1_interrupt_midi_in)
gus               137 sound/isa/gus/gus_uart.c 		snd_gf1_uart_reset(gus, 1);
gus               138 sound/isa/gus/gus_uart.c 	snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_MIDI_OUT);
gus               139 sound/isa/gus/gus_uart.c 	gus->midi_substream_output = NULL;
gus               140 sound/isa/gus/gus_uart.c 	spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               147 sound/isa/gus/gus_uart.c 	struct snd_gus_card *gus;
gus               149 sound/isa/gus/gus_uart.c 	gus = substream->rmidi->private_data;
gus               150 sound/isa/gus/gus_uart.c 	spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus               151 sound/isa/gus/gus_uart.c 	if (gus->gf1.interrupt_handler_midi_out != snd_gf1_interrupt_midi_out)
gus               152 sound/isa/gus/gus_uart.c 		snd_gf1_uart_reset(gus, 1);
gus               153 sound/isa/gus/gus_uart.c 	snd_gf1_set_default_handlers(gus, SNDRV_GF1_HANDLER_MIDI_IN);
gus               154 sound/isa/gus/gus_uart.c 	gus->midi_substream_input = NULL;
gus               155 sound/isa/gus/gus_uart.c 	spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               161 sound/isa/gus/gus_uart.c 	struct snd_gus_card *gus;
gus               164 sound/isa/gus/gus_uart.c 	gus = substream->rmidi->private_data;
gus               166 sound/isa/gus/gus_uart.c 	spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus               168 sound/isa/gus/gus_uart.c 		if ((gus->gf1.uart_cmd & 0x80) == 0)
gus               169 sound/isa/gus/gus_uart.c 			snd_gf1_uart_cmd(gus, gus->gf1.uart_cmd | 0x80); /* enable Rx interrupts */
gus               171 sound/isa/gus/gus_uart.c 		if (gus->gf1.uart_cmd & 0x80)
gus               172 sound/isa/gus/gus_uart.c 			snd_gf1_uart_cmd(gus, gus->gf1.uart_cmd & ~0x80); /* disable Rx interrupts */
gus               174 sound/isa/gus/gus_uart.c 	spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               180 sound/isa/gus/gus_uart.c 	struct snd_gus_card *gus;
gus               184 sound/isa/gus/gus_uart.c 	gus = substream->rmidi->private_data;
gus               186 sound/isa/gus/gus_uart.c 	spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus               188 sound/isa/gus/gus_uart.c 		if ((gus->gf1.uart_cmd & 0x20) == 0) {
gus               189 sound/isa/gus/gus_uart.c 			spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               192 sound/isa/gus/gus_uart.c 			while (timeout-- > 0 && snd_gf1_uart_stat(gus) & 0x01);
gus               194 sound/isa/gus/gus_uart.c 			spin_lock_irqsave(&gus->uart_cmd_lock, flags);
gus               195 sound/isa/gus/gus_uart.c 			if (gus->gf1.uart_cmd & 0x20) {
gus               196 sound/isa/gus/gus_uart.c 				spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               199 sound/isa/gus/gus_uart.c 			if (snd_gf1_uart_stat(gus) & 0x02) {
gus               201 sound/isa/gus/gus_uart.c 					spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               204 sound/isa/gus/gus_uart.c 				snd_gf1_uart_put(gus, byte);
gus               206 sound/isa/gus/gus_uart.c 			snd_gf1_uart_cmd(gus, gus->gf1.uart_cmd | 0x20);	/* enable Tx interrupt */
gus               209 sound/isa/gus/gus_uart.c 		if (gus->gf1.uart_cmd & 0x20)
gus               210 sound/isa/gus/gus_uart.c 			snd_gf1_uart_cmd(gus, gus->gf1.uart_cmd & ~0x20);
gus               212 sound/isa/gus/gus_uart.c 	spin_unlock_irqrestore(&gus->uart_cmd_lock, flags);
gus               229 sound/isa/gus/gus_uart.c int snd_gf1_rawmidi_new(struct snd_gus_card *gus, int device)
gus               234 sound/isa/gus/gus_uart.c 	if ((err = snd_rawmidi_new(gus->card, "GF1", device, 1, 1, &rmidi)) < 0)
gus               236 sound/isa/gus/gus_uart.c 	strcpy(rmidi->name, gus->interwave ? "AMD InterWave" : "GF1");
gus               240 sound/isa/gus/gus_uart.c 	rmidi->private_data = gus;
gus               241 sound/isa/gus/gus_uart.c 	gus->midi_uart = rmidi;
gus                60 sound/isa/gus/gus_volume.c unsigned int snd_gf1_calc_ramp_rate(struct snd_gus_card * gus,
gus                80 sound/isa/gus/gus_volume.c 	value = gus->gf1.enh_mode ?
gus                82 sound/isa/gus/gus_volume.c 	    vol_rates[gus->gf1.active_voices - 14];
gus               100 sound/isa/gus/gus_volume.c unsigned short snd_gf1_translate_freq(struct snd_gus_card * gus, unsigned int freq16)
gus               109 sound/isa/gus/gus_volume.c 	return ((freq16 << 9) + (gus->gf1.playback_freq >> 1)) / gus->gf1.playback_freq;
gus               112 sound/isa/gus/gusclassic.c static int snd_gusclassic_detect(struct snd_gus_card *gus)
gus               116 sound/isa/gus/gusclassic.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 0);	/* reset GF1 */
gus               117 sound/isa/gus/gusclassic.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 0) {
gus               118 sound/isa/gus/gusclassic.c 		snd_printdd("[0x%lx] check 1 failed - 0x%x\n", gus->gf1.port, d);
gus               122 sound/isa/gus/gusclassic.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 1);	/* release reset */
gus               124 sound/isa/gus/gusclassic.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 1) {
gus               125 sound/isa/gus/gusclassic.c 		snd_printdd("[0x%lx] check 2 failed - 0x%x\n", gus->gf1.port, d);
gus               134 sound/isa/gus/gusclassic.c 	struct snd_gus_card *gus;
gus               144 sound/isa/gus/gusclassic.c 	error = snd_gusclassic_create(card, dev, n, &gus);
gus               148 sound/isa/gus/gusclassic.c 	error = snd_gusclassic_detect(gus);
gus               152 sound/isa/gus/gusclassic.c 	gus->joystick_dac = joystick_dac[n];
gus               154 sound/isa/gus/gusclassic.c 	error = snd_gus_initialize(gus);
gus               159 sound/isa/gus/gusclassic.c 	if (gus->max_flag || gus->ess_flag) {
gus               161 sound/isa/gus/gusclassic.c 			"not detected at 0x%lx\n", gus->gf1.port);
gus               165 sound/isa/gus/gusclassic.c 	error = snd_gf1_new_mixer(gus);
gus               169 sound/isa/gus/gusclassic.c 	error = snd_gf1_pcm_new(gus, 0, 0);
gus               173 sound/isa/gus/gusclassic.c 	if (!gus->ace_flag) {
gus               174 sound/isa/gus/gusclassic.c 		error = snd_gf1_rawmidi_new(gus, 0);
gus               181 sound/isa/gus/gusclassic.c 		gus->gf1.port, gus->gf1.irq, gus->gf1.dma1);
gus               183 sound/isa/gus/gusclassic.c 	if (gus->gf1.dma2 >= 0)
gus               185 sound/isa/gus/gusclassic.c 			"&%d", gus->gf1.dma2);
gus               146 sound/isa/gus/gusextreme.c static int snd_gusextreme_detect(struct snd_gus_card *gus,
gus               171 sound/isa/gus/gusextreme.c 	outb(gus->gf1.port & 0x040 ? 2 : 0, ES1688P(es1688, INIT1));
gus               173 sound/isa/gus/gusextreme.c 	outb(gus->gf1.port & 0x020 ? 2 : 0, ES1688P(es1688, INIT1));
gus               175 sound/isa/gus/gusextreme.c 	outb(gus->gf1.port & 0x010 ? 3 : 1, ES1688P(es1688, INIT1));
gus               180 sound/isa/gus/gusextreme.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 0);	/* reset GF1 */
gus               181 sound/isa/gus/gusextreme.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 0) {
gus               182 sound/isa/gus/gusextreme.c 		snd_printdd("[0x%lx] check 1 failed - 0x%x\n", gus->gf1.port, d);
gus               186 sound/isa/gus/gusextreme.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 1);	/* release reset */
gus               188 sound/isa/gus/gusextreme.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 1) {
gus               189 sound/isa/gus/gusextreme.c 		snd_printdd("[0x%lx] check 2 failed - 0x%x\n", gus->gf1.port, d);
gus               225 sound/isa/gus/gusextreme.c 	struct snd_gus_card *gus;
gus               250 sound/isa/gus/gusextreme.c 	error = snd_gusextreme_gus_card_create(card, dev, n, &gus);
gus               254 sound/isa/gus/gusextreme.c 	error = snd_gusextreme_detect(gus, es1688);
gus               258 sound/isa/gus/gusextreme.c 	gus->joystick_dac = joystick_dac[n];
gus               260 sound/isa/gus/gusextreme.c 	error = snd_gus_initialize(gus);
gus               265 sound/isa/gus/gusextreme.c 	if (!gus->ess_flag) {
gus               267 sound/isa/gus/gusextreme.c 			"detected at 0x%lx\n", gus->gf1.port);
gus               270 sound/isa/gus/gusextreme.c 	gus->codec_flag = 1;
gus               283 sound/isa/gus/gusextreme.c 		error = snd_gf1_pcm_new(gus, 1, 1);
gus               288 sound/isa/gus/gusextreme.c 	error = snd_gf1_new_mixer(gus);
gus               314 sound/isa/gus/gusextreme.c 		gus->gf1.irq, es1688->irq, gus->gf1.dma1, es1688->dma8);
gus                62 sound/isa/gus/gusmax.c 	struct snd_gus_card *gus;
gus                70 sound/isa/gus/gusmax.c static int snd_gusmax_detect(struct snd_gus_card *gus)
gus                74 sound/isa/gus/gusmax.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 0);	/* reset GF1 */
gus                75 sound/isa/gus/gusmax.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 0) {
gus                76 sound/isa/gus/gusmax.c 		snd_printdd("[0x%lx] check 1 failed - 0x%x\n", gus->gf1.port, d);
gus                80 sound/isa/gus/gusmax.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 1);	/* release reset */
gus                82 sound/isa/gus/gusmax.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 1) {
gus                83 sound/isa/gus/gusmax.c 		snd_printdd("[0x%lx] check 2 failed - 0x%x\n", gus->gf1.port, d);
gus               100 sound/isa/gus/gusmax.c 			snd_gus_interrupt(irq, maxcard->gus);
gus               113 sound/isa/gus/gusmax.c 			    struct snd_gus_card *gus)
gus               115 sound/isa/gus/gusmax.c 	gus->equal_irq = 1;
gus               116 sound/isa/gus/gusmax.c 	gus->codec_flag = 1;
gus               117 sound/isa/gus/gusmax.c 	gus->joystick_dac = joystick_dac[dev];
gus               119 sound/isa/gus/gusmax.c 	gus->max_cntrl_val = (gus->gf1.port >> 4) & 0x0f;
gus               120 sound/isa/gus/gusmax.c 	if (gus->gf1.dma1 > 3)
gus               121 sound/isa/gus/gusmax.c 		gus->max_cntrl_val |= 0x10;
gus               122 sound/isa/gus/gusmax.c 	if (gus->gf1.dma2 > 3)
gus               123 sound/isa/gus/gusmax.c 		gus->max_cntrl_val |= 0x20;
gus               124 sound/isa/gus/gusmax.c 	gus->max_cntrl_val |= 0x40;
gus               125 sound/isa/gus/gusmax.c 	outb(gus->max_cntrl_val, GUSP(gus, MAXCNTRLPORT));
gus               198 sound/isa/gus/gusmax.c 	struct snd_gus_card *gus = NULL;
gus               242 sound/isa/gus/gusmax.c 				     0, &gus);
gus               254 sound/isa/gus/gusmax.c 					     0, &gus);
gus               264 sound/isa/gus/gusmax.c 	if ((err = snd_gusmax_detect(gus)) < 0)
gus               267 sound/isa/gus/gusmax.c 	maxcard->gus_status_reg = gus->gf1.reg_irqstat;
gus               268 sound/isa/gus/gusmax.c 	maxcard->pcm_status_reg = gus->gf1.port + 0x10c + 2;
gus               269 sound/isa/gus/gusmax.c 	snd_gusmax_init(dev, card, gus);
gus               270 sound/isa/gus/gusmax.c 	if ((err = snd_gus_initialize(gus)) < 0)
gus               273 sound/isa/gus/gusmax.c 	if (!gus->max_flag) {
gus               274 sound/isa/gus/gusmax.c 		snd_printk(KERN_ERR PFX "GUS MAX soundcard was not detected at 0x%lx\n", gus->gf1.port);
gus               287 sound/isa/gus/gusmax.c 			     gus->gf1.port + 0x10c, -1, xirq,
gus               310 sound/isa/gus/gusmax.c 		if ((err = snd_gf1_pcm_new(gus, 1, 1)) < 0)
gus               317 sound/isa/gus/gusmax.c 	err = snd_gf1_rawmidi_new(gus, 0);
gus               321 sound/isa/gus/gusmax.c 	sprintf(card->longname + strlen(card->longname), " at 0x%lx, irq %i, dma %i", gus->gf1.port, xirq, xdma1);
gus               329 sound/isa/gus/gusmax.c 	maxcard->gus = gus;
gus               104 sound/isa/gus/interwave.c 	struct snd_gus_card *gus;
gus               196 sound/isa/gus/interwave.c 				    struct snd_gus_card *gus, int dev,
gus               209 sound/isa/gus/interwave.c 		if (gus->gf1.port == 0x250) {
gus               238 sound/isa/gus/interwave.c 				struct snd_gus_card *gus,
gus               249 sound/isa/gus/interwave.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 0);	/* reset GF1 */
gus               250 sound/isa/gus/interwave.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 0) {
gus               251 sound/isa/gus/interwave.c 		snd_printdd("[0x%lx] check 1 failed - 0x%x\n", gus->gf1.port, d);
gus               255 sound/isa/gus/interwave.c 	snd_gf1_i_write8(gus, SNDRV_GF1_GB_RESET, 1);	/* release reset */
gus               257 sound/isa/gus/interwave.c 	if (((d = snd_gf1_i_look8(gus, SNDRV_GF1_GB_RESET)) & 0x07) != 1) {
gus               258 sound/isa/gus/interwave.c 		snd_printdd("[0x%lx] check 2 failed - 0x%x\n", gus->gf1.port, d);
gus               261 sound/isa/gus/interwave.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               262 sound/isa/gus/interwave.c 	rev1 = snd_gf1_look8(gus, SNDRV_GF1_GB_VERSION_NUMBER);
gus               263 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_VERSION_NUMBER, ~rev1);
gus               264 sound/isa/gus/interwave.c 	rev2 = snd_gf1_look8(gus, SNDRV_GF1_GB_VERSION_NUMBER);
gus               265 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_VERSION_NUMBER, rev1);
gus               266 sound/isa/gus/interwave.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               267 sound/isa/gus/interwave.c 	snd_printdd("[0x%lx] InterWave check - rev1=0x%x, rev2=0x%x\n", gus->gf1.port, rev1, rev2);
gus               270 sound/isa/gus/interwave.c 		snd_printdd("[0x%lx] InterWave check - passed\n", gus->gf1.port);
gus               271 sound/isa/gus/interwave.c 		gus->interwave = 1;
gus               272 sound/isa/gus/interwave.c 		strcpy(gus->card->shortname, "AMD InterWave");
gus               273 sound/isa/gus/interwave.c 		gus->revision = rev1 >> 4;
gus               277 sound/isa/gus/interwave.c 		return snd_interwave_detect_stb(iwcard, gus, dev, rbus);
gus               280 sound/isa/gus/interwave.c 	snd_printdd("[0x%lx] InterWave check - failed\n", gus->gf1.port);
gus               294 sound/isa/gus/interwave.c 			snd_gus_interrupt(irq, iwcard->gus);
gus               306 sound/isa/gus/interwave.c static void snd_interwave_reset(struct snd_gus_card *gus)
gus               308 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_RESET, 0x00);
gus               310 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_RESET, 0x01);
gus               314 sound/isa/gus/interwave.c static void snd_interwave_bank_sizes(struct snd_gus_card *gus, int *sizes)
gus               326 sound/isa/gus/interwave.c 			snd_gf1_poke(gus, local, d);
gus               327 sound/isa/gus/interwave.c 			snd_gf1_poke(gus, local + 1, d + 1);
gus               332 sound/isa/gus/interwave.c 			       snd_gf1_peek(gus, local),
gus               333 sound/isa/gus/interwave.c 			       snd_gf1_peek(gus, local + 1),
gus               334 sound/isa/gus/interwave.c 			       snd_gf1_peek(gus, idx << 22));
gus               336 sound/isa/gus/interwave.c 			if (snd_gf1_peek(gus, local) != d ||
gus               337 sound/isa/gus/interwave.c 			    snd_gf1_peek(gus, local + 1) != d + 1 ||
gus               338 sound/isa/gus/interwave.c 			    snd_gf1_peek(gus, idx << 22) != 0x55)
gus               365 sound/isa/gus/interwave.c static void snd_interwave_detect_memory(struct snd_gus_card *gus)
gus               381 sound/isa/gus/interwave.c 	snd_interwave_reset(gus);
gus               382 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_GLOBAL_MODE, snd_gf1_read8(gus, SNDRV_GF1_GB_GLOBAL_MODE) | 0x01);		/* enhanced mode */
gus               383 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x01);	/* DRAM I/O cycles selected */
gus               384 sound/isa/gus/interwave.c 	snd_gf1_write16(gus, SNDRV_GF1_GW_MEMORY_CONFIG, (snd_gf1_look16(gus, SNDRV_GF1_GW_MEMORY_CONFIG) & 0xff10) | 0x004c);
gus               387 sound/isa/gus/interwave.c 	snd_gf1_poke(gus, 0, 0x55);
gus               388 sound/isa/gus/interwave.c 	snd_gf1_poke(gus, 1, 0xaa);
gus               390 sound/isa/gus/interwave.c 	if (snd_gf1_peek(gus, 0) == 0x55 && snd_gf1_peek(gus, 1) == 0xaa)
gus               395 sound/isa/gus/interwave.c 		snd_interwave_bank_sizes(gus, psizes);
gus               406 sound/isa/gus/interwave.c 				snd_gf1_write16(gus, SNDRV_GF1_GW_MEMORY_CONFIG, (snd_gf1_look16(gus, SNDRV_GF1_GW_MEMORY_CONFIG) & 0xfff0) | i);
gus               407 sound/isa/gus/interwave.c 				snd_interwave_bank_sizes(gus, psizes);
gus               410 sound/isa/gus/interwave.c 		if (i >= ARRAY_SIZE(lmc) && !gus->gf1.enh_mode)
gus               411 sound/isa/gus/interwave.c 			 snd_gf1_write16(gus, SNDRV_GF1_GW_MEMORY_CONFIG, (snd_gf1_look16(gus, SNDRV_GF1_GW_MEMORY_CONFIG) & 0xfff0) | 2);
gus               413 sound/isa/gus/interwave.c 			gus->gf1.mem_alloc.banks_8[i].address =
gus               414 sound/isa/gus/interwave.c 			    gus->gf1.mem_alloc.banks_16[i].address = i << 22;
gus               415 sound/isa/gus/interwave.c 			gus->gf1.mem_alloc.banks_8[i].size =
gus               416 sound/isa/gus/interwave.c 			    gus->gf1.mem_alloc.banks_16[i].size = psizes[i] << 18;
gus               421 sound/isa/gus/interwave.c 	gus->gf1.memory = pages;
gus               423 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x03);	/* select ROM */
gus               424 sound/isa/gus/interwave.c 	snd_gf1_write16(gus, SNDRV_GF1_GW_MEMORY_CONFIG, (snd_gf1_look16(gus, SNDRV_GF1_GW_MEMORY_CONFIG) & 0xff1f) | (4 << 5));
gus               425 sound/isa/gus/interwave.c 	gus->gf1.rom_banks = 0;
gus               426 sound/isa/gus/interwave.c 	gus->gf1.rom_memory = 0;
gus               429 sound/isa/gus/interwave.c 			iwave[i] = snd_gf1_peek(gus, bank_pos + i);
gus               434 sound/isa/gus/interwave.c 			csum += snd_gf1_peek(gus, bank_pos + i);
gus               437 sound/isa/gus/interwave.c 		gus->gf1.rom_banks++;
gus               438 sound/isa/gus/interwave.c 		gus->gf1.rom_present |= 1 << (bank_pos >> 22);
gus               439 sound/isa/gus/interwave.c 		gus->gf1.rom_memory = snd_gf1_peek(gus, bank_pos + 40) |
gus               440 sound/isa/gus/interwave.c 				     (snd_gf1_peek(gus, bank_pos + 41) << 8) |
gus               441 sound/isa/gus/interwave.c 				     (snd_gf1_peek(gus, bank_pos + 42) << 16) |
gus               442 sound/isa/gus/interwave.c 				     (snd_gf1_peek(gus, bank_pos + 43) << 24);
gus               445 sound/isa/gus/interwave.c 	if (gus->gf1.rom_memory > 0) {
gus               446 sound/isa/gus/interwave.c 		if (gus->gf1.rom_banks == 1 && gus->gf1.rom_present == 8)
gus               447 sound/isa/gus/interwave.c 			gus->card->type = SNDRV_CARD_TYPE_IW_DYNASONIC;
gus               450 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_MEMORY_CONTROL, 0x00);	/* select RAM */
gus               452 sound/isa/gus/interwave.c 	if (!gus->gf1.enh_mode)
gus               453 sound/isa/gus/interwave.c 		snd_interwave_reset(gus);
gus               456 sound/isa/gus/interwave.c static void snd_interwave_init(int dev, struct snd_gus_card *gus)
gus               461 sound/isa/gus/interwave.c 	spin_lock_irqsave(&gus->reg_lock, flags);
gus               462 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_SOUND_BLASTER_CONTROL, 0x00);
gus               463 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_COMPATIBILITY, 0x1f);
gus               464 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_DECODE_CONTROL, 0x49);
gus               465 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_VERSION_NUMBER, 0x11);
gus               466 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_MPU401_CONTROL_A, 0x00);
gus               467 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_MPU401_CONTROL_B, 0x30);
gus               468 sound/isa/gus/interwave.c 	snd_gf1_write8(gus, SNDRV_GF1_GB_EMULATION_IRQ, 0x00);
gus               469 sound/isa/gus/interwave.c 	spin_unlock_irqrestore(&gus->reg_lock, flags);
gus               470 sound/isa/gus/interwave.c 	gus->equal_irq = 1;
gus               471 sound/isa/gus/interwave.c 	gus->codec_flag = 1;
gus               472 sound/isa/gus/interwave.c 	gus->interwave = 1;
gus               473 sound/isa/gus/interwave.c 	gus->max_flag = 1;
gus               474 sound/isa/gus/interwave.c 	gus->joystick_dac = joystick_dac[dev];
gus               631 sound/isa/gus/interwave.c 	struct snd_gus_card *gus;
gus               646 sound/isa/gus/interwave.c 				  pcm_channels[dev], effect[dev], &gus)) < 0)
gus               649 sound/isa/gus/interwave.c 	if ((err = snd_interwave_detect(iwcard, gus, dev
gus               656 sound/isa/gus/interwave.c 	iwcard->gus_status_reg = gus->gf1.reg_irqstat;
gus               657 sound/isa/gus/interwave.c 	iwcard->pcm_status_reg = gus->gf1.port + 0x10c + 2;
gus               659 sound/isa/gus/interwave.c 	snd_interwave_init(dev, gus);
gus               660 sound/isa/gus/interwave.c 	snd_interwave_detect_memory(gus);
gus               661 sound/isa/gus/interwave.c 	if ((err = snd_gus_initialize(gus)) < 0)
gus               672 sound/isa/gus/interwave.c 			     gus->gf1.port + 0x10c, -1, xirq,
gus               687 sound/isa/gus/interwave.c 		gus->revision + 'A');
gus               699 sound/isa/gus/interwave.c 		err = snd_gf1_pcm_new(gus, 1, 1);
gus               727 sound/isa/gus/interwave.c 	gus->uart_enable = midi[dev];
gus               728 sound/isa/gus/interwave.c 	if ((err = snd_gf1_rawmidi_new(gus, 0)) < 0)
gus               733 sound/isa/gus/interwave.c 	if (gus->gf1.rom_banks == 1 && gus->gf1.rom_present == 8)
gus               742 sound/isa/gus/interwave.c 		gus->gf1.port,
gus               753 sound/isa/gus/interwave.c 	iwcard->gus = gus;