Lines Matching refs:subs
626 struct snd_pcm_substream *subs = stream->substream;
627 struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
629 is_capture = (subs->stream == SNDRV_PCM_STREAM_CAPTURE);
630 stream_num = is_capture ? 0 : subs->number;
633 "%s(pcm%c%d) : addr(%p) bytes(%zx) subs(%d)\n", __func__,
635 chip->chip_idx, (void *)(long)subs->runtime->dma_addr,
636 subs->runtime->dma_bytes, subs->number);
643 snd_BUG_ON(subs->runtime->dma_bytes >= 0x200000);
645 rmh.cmd[1] = subs->runtime->dma_bytes * 8;
647 rmh.cmd[2] = subs->runtime->dma_addr >> 24;
651 rmh.cmd[3] = subs->runtime->dma_addr & MASK_DSP_WORD;
823 static int pcxhr_trigger(struct snd_pcm_substream *subs, int cmd)
827 struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
832 if (snd_pcm_stream_linked(subs)) {
833 snd_pcm_group_for_each_entry(s, subs) {
839 snd_pcm_trigger_done(s, subs);
843 stream = subs->runtime->private_data;
860 snd_pcm_group_for_each_entry(s, subs) {
865 snd_pcm_trigger_done(s, subs);
899 static int pcxhr_prepare(struct snd_pcm_substream *subs)
901 struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
907 subs->runtime->period_size, subs->runtime->periods,
908 subs->runtime->buffer_size);
915 if (mgr->sample_rate != subs->runtime->rate) {
916 err = pcxhr_set_clock(mgr, subs->runtime->rate);
922 mgr->sample_rate = subs->runtime->rate;
935 static int pcxhr_hw_params(struct snd_pcm_substream *subs,
938 struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
940 struct pcxhr_stream *stream = subs->runtime->private_data;
985 static int pcxhr_open(struct snd_pcm_substream *subs)
987 struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
989 struct snd_pcm_runtime *runtime = subs->runtime;
998 if( subs->stream == SNDRV_PCM_STREAM_PLAYBACK ) {
999 dev_dbg(chip->card->dev, "%s playback chip%d subs%d\n",
1000 __func__, chip->chip_idx, subs->number);
1001 stream = &chip->playback_stream[subs->number];
1003 dev_dbg(chip->card->dev, "%s capture chip%d subs%d\n",
1004 __func__, chip->chip_idx, subs->number);
1009 stream = &chip->capture_stream[subs->number];
1013 dev_err(chip->card->dev, "%s chip%d subs%d in use\n",
1014 __func__, chip->chip_idx, subs->number);
1052 stream->substream = subs;
1062 snd_pcm_set_sync(subs);
1071 static int pcxhr_close(struct snd_pcm_substream *subs)
1073 struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
1075 struct pcxhr_stream *stream = subs->runtime->private_data;
1079 dev_dbg(chip->card->dev, "%s chip%d subs%d\n", __func__,
1080 chip->chip_idx, subs->number);
1097 static snd_pcm_uframes_t pcxhr_stream_pointer(struct snd_pcm_substream *subs)
1101 struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
1102 struct snd_pcm_runtime *runtime = subs->runtime;