Lines Matching refs:subs

416 static int snd_mixart_trigger(struct snd_pcm_substream *subs, int cmd)
418 struct mixart_stream *stream = subs->runtime->private_data;
423 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_TRIGGER_START\n");
440 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_TRIGGER_STOP\n");
447 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_PAUSE_PUSH\n");
452 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_PAUSE_RELEASE\n");
477 static int snd_mixart_prepare(struct snd_pcm_substream *subs)
479 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
480 struct mixart_stream *stream = subs->runtime->private_data;
491 chip->mgr->sample_rate = subs->runtime->rate;
495 if( mixart_set_clock(chip->mgr, stream->pipe, subs->runtime->rate) )
590 static int snd_mixart_hw_params(struct snd_pcm_substream *subs,
593 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
595 struct mixart_stream *stream = subs->runtime->private_data;
611 if( subs->stream == SNDRV_PCM_STREAM_PLAYBACK )
612 mixart_update_playback_stream_level(chip, is_aes, subs->number);
626 if (subs->runtime->buffer_changed) {
628 int i = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (stream->pcm_number * (MIXART_PLAYBACK_STREAMS+MIXART_CAPTURE_STREAMS)) + subs->number;
629 if( subs->stream == SNDRV_PCM_STREAM_CAPTURE ) {
634 bufferinfo[i].buffer_address = subs->runtime->dma_addr;
635 bufferinfo[i].available_length = subs->runtime->dma_bytes;
639 "snd_mixart_hw_params(pcm %d) : dma_addr(%x) dma_bytes(%x) subs-number(%d)\n",
642 subs->number);
649 static int snd_mixart_hw_free(struct snd_pcm_substream *subs)
651 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
704 static int snd_mixart_playback_open(struct snd_pcm_substream *subs)
706 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
708 struct snd_pcm_runtime *runtime = subs->runtime;
709 struct snd_pcm *pcm = subs->pcm;
727 chip->chip_idx, pcm_number, subs->number);
730 stream = &(chip->playback_stream[pcm_number][subs->number]);
736 chip->chip_idx, pcm_number, subs->number);
761 stream->substream = subs;
783 static int snd_mixart_capture_open(struct snd_pcm_substream *subs)
785 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
787 struct snd_pcm_runtime *runtime = subs->runtime;
788 struct snd_pcm *pcm = subs->pcm;
808 chip->chip_idx, pcm_number, subs->number);
817 chip->chip_idx, pcm_number, subs->number);
842 stream->substream = subs;
865 static int snd_mixart_close(struct snd_pcm_substream *subs)
867 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
869 struct mixart_stream *stream = subs->runtime->private_data;
874 chip->chip_idx, stream->pcm_number, subs->number);
898 static snd_pcm_uframes_t snd_mixart_stream_pointer(struct snd_pcm_substream *subs)
900 struct snd_pcm_runtime *runtime = subs->runtime;
931 struct snd_pcm_substream *subs;
936 for (subs = pcm->streams[stream].substream; subs; subs = subs->next, idx++)
938 subs->dma_device.id = subs->pcm->device << 16 |
939 subs->stream << 8 | (subs->number + 1) |