snd_ca0106_ptr_write
void snd_ca0106_ptr_write(struct snd_ca0106 *emu,
snd_ca0106_ptr_write(chip, EXTENDED_INT, 0, stat76);
snd_ca0106_ptr_write(chip, SPCS1, 0, chip->spdif_str_bits[1]);
snd_ca0106_ptr_write(chip, SPCS0, 0, chip->spdif_str_bits[0]);
snd_ca0106_ptr_write(chip, SPCS2, 0, chip->spdif_str_bits[2]);
snd_ca0106_ptr_write(chip, SPCS3, 0, chip->spdif_str_bits[3]);
snd_ca0106_ptr_write(chip, PLAYBACK_MUTE, 0, 0x00fc0000);
snd_ca0106_ptr_write(chip, CAPTURE_MUTE, 0, 0x00fc0000);
snd_ca0106_ptr_write(chip, SPCS0, 0, 0x2108006);
snd_ca0106_ptr_write(chip, 0x42, 0, 0x2108006);
snd_ca0106_ptr_write(chip, 0x43, 0, 0x2108006);
snd_ca0106_ptr_write(chip, 0x44, 0, 0x2108006);
snd_ca0106_ptr_write(chip, SPDIF_SELECT1, 0, 0xf);
snd_ca0106_ptr_write(chip, SPDIF_SELECT2, 0, 0x000f0000);
snd_ca0106_ptr_write(chip, CAPTURE_CONTROL, 0, 0x40c81000);
snd_ca0106_ptr_write(chip, CAPTURE_CONTROL, 1, 0xffffffff);
snd_ca0106_ptr_write(chip, CAPTURE_CONTROL, 2, 0x30300000);
snd_ca0106_ptr_write(chip, CAPTURE_CONTROL, 3, 0x00700000);
snd_ca0106_ptr_write(chip, PLAYBACK_ROUTING1, 0, 0x32765410);
snd_ca0106_ptr_write(chip, PLAYBACK_ROUTING2, 0, 0x76767676);
snd_ca0106_ptr_write(chip, CAPTURE_ROUTING1, 0, 0x32765410);
snd_ca0106_ptr_write(chip, CAPTURE_ROUTING2, 0, 0x76767676);
snd_ca0106_ptr_write(chip, CAPTURE_VOLUME1, ch, 0x30303030);
snd_ca0106_ptr_write(chip, CAPTURE_VOLUME2, ch, 0x30303030);
snd_ca0106_ptr_write(chip, PLAYBACK_VOLUME1, ch, 0x40404040);
snd_ca0106_ptr_write(chip, PLAYBACK_VOLUME2, ch, 0x40404040);
snd_ca0106_ptr_write(chip, PLAYBACK_VOLUME1, ch, 0xffffffff);
snd_ca0106_ptr_write(chip, PLAYBACK_VOLUME2, ch, 0xffffffff);
snd_ca0106_ptr_write(chip, CAPTURE_SOURCE, 0x0, 0x333300e4);
snd_ca0106_ptr_write(chip, CAPTURE_SOURCE, 0x0, 0x444400e4);
snd_ca0106_ptr_write(chip, CAPTURE_SOURCE, 0x0, 0x333300e4);
snd_ca0106_ptr_write(chip, BASIC_INTERRUPT, 0, 0);
snd_ca0106_ptr_write(chip, EXTENDED_INT_MASK, 0, 0);
snd_ca0106_ptr_write((struct snd_ca0106 *)(midi->dev_id), midi->port + idx, 0, data);
snd_ca0106_ptr_write(emu, reg, 0, reset | data);
snd_ca0106_ptr_write(emu, reg, 0, set | data);
snd_ca0106_ptr_write(emu, reg, 0, reset | data);
snd_ca0106_ptr_write(emu, I2C_D1, 0, tmp);
snd_ca0106_ptr_write(emu, I2C_A, 0, tmp);
snd_ca0106_ptr_write(chip, SPCS0 + idx, 0,
snd_ca0106_ptr_write(emu, 0x40, 0, reg40);
snd_ca0106_ptr_write(emu, 0x71, 0, reg71);
snd_ca0106_ptr_write(emu, PLAYBACK_LIST_ADDR, channel, emu->buffer->addr+(8*16*channel));
snd_ca0106_ptr_write(emu, PLAYBACK_LIST_SIZE, channel, (runtime->periods - 1) << 19);
snd_ca0106_ptr_write(emu, PLAYBACK_LIST_PTR, channel, 0);
snd_ca0106_ptr_write(emu, PLAYBACK_DMA_ADDR, channel, runtime->dma_addr);
snd_ca0106_ptr_write(emu, PLAYBACK_PERIOD_SIZE, channel, frames_to_bytes(runtime, runtime->period_size)<<16); // buffer size in bytes
snd_ca0106_ptr_write(emu, PLAYBACK_PERIOD_SIZE, channel, 0); // buffer size in bytes
snd_ca0106_ptr_write(emu, PLAYBACK_POINTER, channel, 0);
snd_ca0106_ptr_write(emu, 0x07, channel, 0x0);
snd_ca0106_ptr_write(emu, 0x08, channel, 0);
snd_ca0106_ptr_write(emu, PLAYBACK_MUTE, 0x0, 0x0); /* Unmute output */
snd_ca0106_ptr_write(emu, SPCS0, 0,
snd_ca0106_ptr_write(emu, 0x71, 0, reg71);
snd_ca0106_ptr_write(emu, 0x13, channel, 0);
snd_ca0106_ptr_write(emu, CAPTURE_DMA_ADDR, channel, runtime->dma_addr);
snd_ca0106_ptr_write(emu, CAPTURE_BUFFER_SIZE, channel, frames_to_bytes(runtime, runtime->buffer_size)<<16); // buffer size in bytes
snd_ca0106_ptr_write(emu, CAPTURE_POINTER, channel, 0);
snd_ca0106_ptr_write(emu, EXTENDED_INT_MASK, 0, bits);
snd_ca0106_ptr_write(emu, BASIC_INTERRUPT, 0, bits);
snd_ca0106_ptr_write(emu, BASIC_INTERRUPT, 0, bits);
snd_ca0106_ptr_write(emu, EXTENDED_INT_MASK, 0, bits);
snd_ca0106_ptr_write(emu, EXTENDED_INT_MASK, 0, snd_ca0106_ptr_read(emu, EXTENDED_INT_MASK, 0) | (0x110000<<channel));
snd_ca0106_ptr_write(emu, BASIC_INTERRUPT, 0, snd_ca0106_ptr_read(emu, BASIC_INTERRUPT, 0)|(0x100<<channel));
snd_ca0106_ptr_write(emu, BASIC_INTERRUPT, 0, snd_ca0106_ptr_read(emu, BASIC_INTERRUPT, 0) & ~(0x100<<channel));
snd_ca0106_ptr_write(emu, EXTENDED_INT_MASK, 0, snd_ca0106_ptr_read(emu, EXTENDED_INT_MASK, 0) & ~(0x110000<<channel));
snd_ca0106_ptr_write(emu, SPCS0 + idx, 0, emu->spdif_str_bits[idx]);
snd_ca0106_ptr_write(emu, reg, channel_id, nval);
snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x0b000000);
snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0, val);
snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000f0000);
snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0, val);
snd_ca0106_ptr_write(chip, saved_volumes[i].reg,
snd_ca0106_ptr_write(emu, CAPTURE_SOURCE, 0, source | mask);
snd_ca0106_ptr_write(emu, reg, channel_id, val);