Lines Matching refs:pvoice
849 struct snd_ali_voice *pvoice; in snd_ali_update_ptr() local
862 pvoice = &codec->synth.voices[channel]; in snd_ali_update_ptr()
867 if (pvoice->pcm && pvoice->substream) { in snd_ali_update_ptr()
869 if (pvoice->running) { in snd_ali_update_ptr()
875 snd_pcm_period_elapsed(pvoice->substream); in snd_ali_update_ptr()
926 struct snd_ali_voice *pvoice; in snd_ali_alloc_voice() local
940 pvoice = &(codec->synth.voices[idx]); in snd_ali_alloc_voice()
941 pvoice->codec = codec; in snd_ali_alloc_voice()
942 pvoice->use = 1; in snd_ali_alloc_voice()
943 pvoice->pcm = 1; in snd_ali_alloc_voice()
944 pvoice->mode = rec; in snd_ali_alloc_voice()
946 return pvoice; in snd_ali_alloc_voice()
954 struct snd_ali_voice *pvoice) in snd_ali_free_voice() argument
959 dev_dbg(codec->card->dev, "free_voice: channel=%d\n", pvoice->number); in snd_ali_free_voice()
960 if (!pvoice->use) in snd_ali_free_voice()
962 snd_ali_clear_voices(codec, pvoice->number, pvoice->number); in snd_ali_free_voice()
964 private_free = pvoice->private_free; in snd_ali_free_voice()
965 private_data = pvoice->private_data; in snd_ali_free_voice()
966 pvoice->private_free = NULL; in snd_ali_free_voice()
967 pvoice->private_data = NULL; in snd_ali_free_voice()
968 if (pvoice->pcm) in snd_ali_free_voice()
969 snd_ali_free_channel_pcm(codec, pvoice->number); in snd_ali_free_voice()
970 pvoice->use = pvoice->pcm = pvoice->synth = 0; in snd_ali_free_voice()
971 pvoice->substream = NULL; in snd_ali_free_voice()
1088 struct snd_ali_voice *pvoice, *evoice; in snd_ali_trigger() local
1108 pvoice = s->runtime->private_data; in snd_ali_trigger()
1109 evoice = pvoice->extra; in snd_ali_trigger()
1110 what |= 1 << (pvoice->number & 0x1f); in snd_ali_trigger()
1112 whati |= 1 << (pvoice->number & 0x1f); in snd_ali_trigger()
1118 pvoice->running = 1; in snd_ali_trigger()
1122 pvoice->running = 0; in snd_ali_trigger()
1127 if (pvoice->mode) in snd_ali_trigger()
1153 struct snd_ali_voice *pvoice = runtime->private_data; in snd_ali_playback_hw_params() local
1154 struct snd_ali_voice *evoice = pvoice->extra; in snd_ali_playback_hw_params()
1172 pvoice->extra = evoice; in snd_ali_playback_hw_params()
1178 pvoice->extra = evoice = NULL; in snd_ali_playback_hw_params()
1189 struct snd_ali_voice *pvoice = runtime->private_data; in snd_ali_playback_hw_free() local
1190 struct snd_ali_voice *evoice = pvoice ? pvoice->extra : NULL; in snd_ali_playback_hw_free()
1195 pvoice->extra = NULL; in snd_ali_playback_hw_free()
1216 struct snd_ali_voice *pvoice = runtime->private_data; in snd_ali_playback_prepare() local
1217 struct snd_ali_voice *evoice = pvoice->extra; in snd_ali_playback_prepare()
1235 if (pvoice->number == ALI_SPDIF_IN_CHANNEL || in snd_ali_playback_prepare()
1236 pvoice->number == ALI_PCM_IN_CHANNEL) in snd_ali_playback_prepare()
1237 snd_ali_disable_special_channel(codec, pvoice->number); in snd_ali_playback_prepare()
1241 && pvoice->number == ALI_SPDIF_OUT_CHANNEL) { in snd_ali_playback_prepare()
1250 pvoice->count = runtime->period_size; in snd_ali_playback_prepare()
1253 pvoice->eso = runtime->buffer_size; in snd_ali_playback_prepare()
1256 pvoice->eso, pvoice->count); in snd_ali_playback_prepare()
1259 ESO = pvoice->eso -1; in snd_ali_playback_prepare()
1270 pvoice->number,runtime->rate,Delta,GVSEL,PAN,CTRL); in snd_ali_playback_prepare()
1272 pvoice->number, in snd_ali_playback_prepare()
1284 evoice->count = pvoice->count; in snd_ali_playback_prepare()
1285 evoice->eso = pvoice->count << 1; in snd_ali_playback_prepare()
1309 struct snd_ali_voice *pvoice = runtime->private_data; in snd_ali_prepare() local
1324 snd_ali_enable_special_channel(codec,pvoice->number); in snd_ali_prepare()
1326 Delta = (pvoice->number == ALI_MODEM_IN_CHANNEL || in snd_ali_prepare()
1327 pvoice->number == ALI_MODEM_OUT_CHANNEL) ? in snd_ali_prepare()
1328 0x1000 : snd_ali_convert_rate(runtime->rate, pvoice->mode); in snd_ali_prepare()
1331 if (pvoice->number == ALI_SPDIF_IN_CHANNEL) { in snd_ali_prepare()
1358 pvoice->eso = runtime->buffer_size; in snd_ali_prepare()
1361 pvoice->count = runtime->period_size; in snd_ali_prepare()
1367 ESO = pvoice->eso - 1; in snd_ali_prepare()
1375 pvoice->number, in snd_ali_prepare()
1398 struct snd_ali_voice *pvoice = runtime->private_data; in snd_ali_playback_pointer() local
1402 if (!pvoice->running) { in snd_ali_playback_pointer()
1406 outb(pvoice->number, ALI_REG(codec, ALI_GC_CIR)); in snd_ali_playback_pointer()
1419 struct snd_ali_voice *pvoice = runtime->private_data; in snd_ali_pointer() local
1423 if (!pvoice->running) { in snd_ali_pointer()
1427 outb(pvoice->number, ALI_REG(codec, ALI_GC_CIR)); in snd_ali_pointer()
1484 struct snd_ali_voice *pvoice = runtime->private_data; in snd_ali_pcm_free_substream() local
1487 if (pvoice) { in snd_ali_pcm_free_substream()
1488 codec = pvoice->codec; in snd_ali_pcm_free_substream()
1489 snd_ali_free_voice(pvoice->codec, pvoice); in snd_ali_pcm_free_substream()
1498 struct snd_ali_voice *pvoice; in snd_ali_open() local
1500 pvoice = snd_ali_alloc_voice(codec, SNDRV_ALI_VOICE_TYPE_PCM, rec, in snd_ali_open()
1502 if (!pvoice) in snd_ali_open()
1505 pvoice->substream = substream; in snd_ali_open()
1506 runtime->private_data = pvoice; in snd_ali_open()
1534 struct snd_ali_voice *pvoice = substream->runtime->private_data; in snd_ali_close() local
1536 snd_ali_disable_special_channel(codec,pvoice->number); in snd_ali_close()