Lines Matching defs: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);
624 if (subs->runtime->buffer_changed) {
626 int i = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (stream->pcm_number * (MIXART_PLAYBACK_STREAMS+MIXART_CAPTURE_STREAMS)) + subs->number;
627 if( subs->stream == SNDRV_PCM_STREAM_CAPTURE ) {
632 bufferinfo[i].buffer_address = subs->runtime->dma_addr;
633 bufferinfo[i].available_length = subs->runtime->dma_bytes;
637 "snd_mixart_hw_params(pcm %d) : dma_addr(%x) dma_bytes(%x) subs-number(%d)\n",
640 subs->number);
646 static int snd_mixart_hw_free(struct snd_pcm_substream *subs)
648 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
701 static int snd_mixart_playback_open(struct snd_pcm_substream *subs)
703 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
705 struct snd_pcm_runtime *runtime = subs->runtime;
706 struct snd_pcm *pcm = subs->pcm;
724 chip->chip_idx, pcm_number, subs->number);
727 stream = &(chip->playback_stream[pcm_number][subs->number]);
733 chip->chip_idx, pcm_number, subs->number);
754 stream->substream = subs;
773 static int snd_mixart_capture_open(struct snd_pcm_substream *subs)
775 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
777 struct snd_pcm_runtime *runtime = subs->runtime;
778 struct snd_pcm *pcm = subs->pcm;
798 chip->chip_idx, pcm_number, subs->number);
807 chip->chip_idx, pcm_number, subs->number);
828 stream->substream = subs;
848 static int snd_mixart_close(struct snd_pcm_substream *subs)
850 struct snd_mixart *chip = snd_pcm_substream_chip(subs);
852 struct mixart_stream *stream = subs->runtime->private_data;
857 chip->chip_idx, stream->pcm_number, subs->number);
880 static snd_pcm_uframes_t snd_mixart_stream_pointer(struct snd_pcm_substream *subs)
882 struct snd_pcm_runtime *runtime = subs->runtime;
913 struct snd_pcm_substream *subs;
918 for (subs = pcm->streams[stream].substream; subs; subs = subs->next, idx++)
920 subs->dma_device.id = subs->pcm->device << 16 |
921 subs->stream << 8 | (subs->number + 1) |