snd_emu10k1_ptr_write
void snd_emu10k1_ptr_write(struct snd_emu10k1 *emu, unsigned int reg, unsigned int chn, unsigned int data);
snd_emu10k1_ptr_write(hw, IFATN_ATTENUATION, vp->ch, vp->avol);
snd_emu10k1_ptr_write(hw, IP, vp->ch, vp->apitch);
snd_emu10k1_ptr_write(hw, PTRX_FXSENDAMOUNT_A, vp->ch, vp->apan);
snd_emu10k1_ptr_write(hw, PTRX_FXSENDAMOUNT_B, vp->ch, vp->aaux);
snd_emu10k1_ptr_write(hw, FMMOD, vp->ch, make_fmmod(vp));
snd_emu10k1_ptr_write(hw, TREMFRQ, vp->ch, vp->reg.parm.tremfrq);
snd_emu10k1_ptr_write(hw, FM2FRQ2, vp->ch, make_fm2frq2(vp));
snd_emu10k1_ptr_write(hw, CCCA_RESONANCE, vp->ch, vp->reg.parm.filterQ);
snd_emu10k1_ptr_write(hw, A_FXRT1, ch, temp);
snd_emu10k1_ptr_write(hw, FXRT, ch, temp);
snd_emu10k1_ptr_write(emu, AC97SLOT, 0,
snd_emu10k1_ptr_write(emu, SPBYPASS, 0, SPBYPASS_FORMAT);
snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_REAR_RIGHT |
snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_CNTR|AC97SLOT_LFE);
snd_emu10k1_ptr_write(emu, *reg, i, *val);
snd_emu10k1_ptr_write(emu, *reg, i, *val);
snd_emu10k1_ptr_write(emu, A_I2S_CAPTURE_RATE, 0, A_I2S_CAPTURE_96000);
snd_emu10k1_ptr_write(emu, A_I2S_CAPTURE_RATE, 0, A_I2S_CAPTURE_96000);
snd_emu10k1_ptr_write(emu, PTB, 0, emu->ptb_pages.addr);
snd_emu10k1_ptr_write(emu, TCB, 0, 0); /* taken from original driver */
snd_emu10k1_ptr_write(emu, TCBS, 0, TCBS_BUFFSIZE_256K); /* taken from original driver */
snd_emu10k1_ptr_write(emu, MAPA, ch, silent_page);
snd_emu10k1_ptr_write(emu, MAPB, ch, silent_page);
snd_emu10k1_ptr_write(emu, A_DBG, 0, A_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, DBG, 0, EMU10K1_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg | A_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg | EMU10K1_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg = A_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg = EMU10K1_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, emu->gpr_base + 0x94 + output, 0, 1);
snd_emu10k1_ptr_write(emu, emu->gpr_base + 0x94 + output, 0, 0);
snd_emu10k1_ptr_write(emu, TCB, 0, 0);
snd_emu10k1_ptr_write(emu, TCBS, 0, TCBS_BUFFSIZE_16K);
snd_emu10k1_ptr_write(emu, TCB, 0, emu->fx8010.etram_pages.addr);
snd_emu10k1_ptr_write(emu, TCBS, 0, size_reg);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg |= A_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg |= EMU10K1_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg = 0);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg = 0);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg | A_DBG_ZC);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg | EMU10K1_DBG_ZC);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg |= A_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg | A_DBG_STEP | addr);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg |= EMU10K1_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg | EMU10K1_DBG_STEP | addr);
snd_emu10k1_ptr_write(emu, TCB, 0, emu->fx8010.etram_pages.addr);
snd_emu10k1_ptr_write(emu, TCBS, 0, size_reg);
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg | A_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg | EMU10K1_DBG_SINGLE_STEP);
snd_emu10k1_ptr_write(emu, emu->gpr_base + i, 0, emu->saved_gpr[i]);
snd_emu10k1_ptr_write(emu, TANKMEMDATAREGBASE + i, 0,
snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + i, 0,
snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + i, 0,
snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + i, 0,
snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg);
snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg);
snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, val);
snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, ~val);
snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, db_table[val]);
snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0,
snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[j * ctl->vcount + i], 0, bass_table[val][j]);
snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[j * ctl->vcount + i], 0, treble_table[val][j]);
snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, onoff_table[val]);
snd_emu10k1_ptr_write(emu, emu->gpr_base + irq->gpr_running, 0, 1);
snd_emu10k1_ptr_write(emu, pc, 0, data);
snd_emu10k1_ptr_write(emu, emu->gpr_base + gpr, 0, val);
snd_emu10k1_ptr_write(emu, TANKMEMDATAREGBASE + tram, 0, val);
snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + tram, 0, addr);
snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + tram, 0, addr << 12);
snd_emu10k1_ptr_write(emu, A_TANKMEMCTLREGBASE + tram, 0, addr >> 20);
snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, 0, tmp);
snd_emu10k1_ptr_write(emu, SPCS0 + idx, 0, val);
snd_emu10k1_ptr_write(emu, FXRT, voice,
snd_emu10k1_ptr_write(emu, PTRX_FXSENDAMOUNT_A, voice, volume[0]);
snd_emu10k1_ptr_write(emu, PTRX_FXSENDAMOUNT_B, voice, volume[1]);
snd_emu10k1_ptr_write(emu, PSST_FXSENDAMOUNT_C, voice, volume[2]);
snd_emu10k1_ptr_write(emu, DSL_FXSENDAMOUNT_D, voice, volume[3]);
snd_emu10k1_ptr_write(emu, A_SENDAMOUNTS, voice,
snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[0]->number, mix->attn[1]);
snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[0]->number + 1, mix->attn[2]);
snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[0]->number, mix->attn[0]);
snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, mix->epcm->voices[ch]->number, mix->attn[0]);
snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_CNTR|AC97SLOT_LFE|AC97SLOT_REAR_LEFT|AC97SLOT_REAR_RIGHT);
snd_emu10k1_ptr_write(emu, mpu->port + idx, 0, data);
snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, 0);
snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, (TANKMEMADDRREG_READ|TANKMEMADDRREG_ALIGN) + i * (runtime->buffer_size / pcm->channels));
snd_emu10k1_ptr_write(emu, SPCS0 + i, 0, bits);
snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 1);
snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0);
snd_emu10k1_ptr_write(emu, A_CSBA + i, voice, (amh << 16) | aml);
snd_emu10k1_ptr_write(emu, FXRT, voice,
snd_emu10k1_ptr_write(emu, epcm->capture_bs_reg, 0, 0);
snd_emu10k1_ptr_write(emu, ADCCR, 0, 0);
snd_emu10k1_ptr_write(emu, FXWC, 0, 0);
snd_emu10k1_ptr_write(emu, epcm->capture_ba_reg, 0, runtime->dma_addr);
snd_emu10k1_ptr_write(emu, CD0 + i, voice, sample);
snd_emu10k1_ptr_write(emu, CCR, voice + 1, ccr);
snd_emu10k1_ptr_write(emu, CCR, voice, ccr);
snd_emu10k1_ptr_write(emu, CCCA_CURRADDR, voice, loop_start);
snd_emu10k1_ptr_write(emu, CCCA_CURRADDR, epcm->extra->number, eloop_start);
snd_emu10k1_ptr_write(emu, ADCCR, 0, epcm->capture_cr_val);
snd_emu10k1_ptr_write(emu, FXWC, 0, epcm->capture_cr_val);
snd_emu10k1_ptr_write(emu, epcm->capture_bs_reg, 0, epcm->capture_bs_val);
snd_emu10k1_ptr_write(emu, epcm->capture_bs_reg, 0, 0);
snd_emu10k1_ptr_write(emu, ADCCR, 0, 0);
snd_emu10k1_ptr_write(emu, FXWC, 0, 0);
snd_emu10k1_ptr_write(emu, CPF_STOP, voice, 1);
EXPORT_SYMBOL(snd_emu10k1_ptr_write);
snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel,
snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel,
snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel,
snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, channel,
snd_emu10k1_ptr_write(emu, A_I2S_CAPTURE_RATE, channel, A_I2S_CAPTURE_44100);
snd_emu10k1_ptr_write(emu, A_I2S_CAPTURE_RATE, channel, A_I2S_CAPTURE_96000);
snd_emu10k1_ptr_write(emu, A_I2S_CAPTURE_RATE, channel, A_I2S_CAPTURE_192000);
snd_emu10k1_ptr_write(emu, A_I2S_CAPTURE_RATE, channel, A_I2S_CAPTURE_48000);