Lines Matching refs:subs

417 static int snd_mixart_trigger(struct snd_pcm_substream *subs, int cmd)
419 struct mixart_stream *stream = subs->runtime->private_data;
424 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_TRIGGER_START\n");
441 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_TRIGGER_STOP\n");
448 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_PAUSE_PUSH\n");
453 dev_dbg(subs->pcm->card->dev, "SNDRV_PCM_PAUSE_RELEASE\n");
478 static int snd_mixart_prepare(struct snd_pcm_substream *subs)
480 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
481 struct mixart_stream *stream = subs->runtime->private_data;
492 chip->mgr->sample_rate = subs->runtime->rate;
496 if( mixart_set_clock(chip->mgr, stream->pipe, subs->runtime->rate) )
591 static int snd_mixart_hw_params(struct snd_pcm_substream *subs,
594 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
596 struct mixart_stream *stream = subs->runtime->private_data;
612 if( subs->stream == SNDRV_PCM_STREAM_PLAYBACK )
613 mixart_update_playback_stream_level(chip, is_aes, subs->number);
627 if (subs->runtime->buffer_changed) {
629 int i = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (stream->pcm_number * (MIXART_PLAYBACK_STREAMS+MIXART_CAPTURE_STREAMS)) + subs->number;
630 if( subs->stream == SNDRV_PCM_STREAM_CAPTURE ) {
635 bufferinfo[i].buffer_address = subs->runtime->dma_addr;
636 bufferinfo[i].available_length = subs->runtime->dma_bytes;
640 "snd_mixart_hw_params(pcm %d) : dma_addr(%x) dma_bytes(%x) subs-number(%d)\n",
643 subs->number);
650 static int snd_mixart_hw_free(struct snd_pcm_substream *subs)
652 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
705 static int snd_mixart_playback_open(struct snd_pcm_substream *subs)
707 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
709 struct snd_pcm_runtime *runtime = subs->runtime;
710 struct snd_pcm *pcm = subs->pcm;
728 chip->chip_idx, pcm_number, subs->number);
731 stream = &(chip->playback_stream[pcm_number][subs->number]);
737 chip->chip_idx, pcm_number, subs->number);
762 stream->substream = subs;
784 static int snd_mixart_capture_open(struct snd_pcm_substream *subs)
786 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
788 struct snd_pcm_runtime *runtime = subs->runtime;
789 struct snd_pcm *pcm = subs->pcm;
809 chip->chip_idx, pcm_number, subs->number);
818 chip->chip_idx, pcm_number, subs->number);
843 stream->substream = subs;
866 static int snd_mixart_close(struct snd_pcm_substream *subs)
868 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
870 struct mixart_stream *stream = subs->runtime->private_data;
875 chip->chip_idx, stream->pcm_number, subs->number);
899 static snd_pcm_uframes_t snd_mixart_stream_pointer(struct snd_pcm_substream *subs)
901 struct snd_pcm_runtime *runtime = subs->runtime;
932 struct snd_pcm_substream *subs;
937 for (subs = pcm->streams[stream].substream; subs; subs = subs->next, idx++)
939 subs->dma_device.id = subs->pcm->device << 16 |
940 subs->stream << 8 | (subs->number + 1) |