Lines Matching refs:spcm
65 struct snd_sof_pcm *spcm; in ipc_pcm_params() local
71 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in ipc_pcm_params()
72 if (!spcm) { in ipc_pcm_params()
78 params = &spcm->params[dir]; in ipc_pcm_params()
147 struct snd_sof_pcm *spcm; in sof_keyword_dapm_event() local
159 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_keyword_dapm_event()
160 if (!spcm) { in sof_keyword_dapm_event()
169 if (spcm->stream[stream].suspend_ignored) { in sof_keyword_dapm_event()
191 if (spcm->stream[stream].suspend_ignored) { in sof_keyword_dapm_event()
1619 static int spcm_bind(struct snd_soc_component *scomp, struct snd_sof_pcm *spcm, in spcm_bind() argument
1625 spcm->pcm.caps[dir].name, in spcm_bind()
1632 spcm->stream[dir].comp_id = host_widget->comp_id; in spcm_bind()
2588 struct snd_sof_pcm *spcm; in sof_dai_load() local
2596 spcm = kzalloc(sizeof(*spcm), GFP_KERNEL); in sof_dai_load()
2597 if (!spcm) in sof_dai_load()
2600 spcm->scomp = scomp; in sof_dai_load()
2603 spcm->stream[stream].comp_id = COMP_ID_UNASSIGNED; in sof_dai_load()
2605 snd_sof_compr_init_elapsed_work(&spcm->stream[stream].period_elapsed_work); in sof_dai_load()
2607 snd_sof_pcm_init_elapsed_work(&spcm->stream[stream].period_elapsed_work); in sof_dai_load()
2610 spcm->pcm = *pcm; in sof_dai_load()
2613 dai_drv->dobj.private = spcm; in sof_dai_load()
2614 list_add(&spcm->list, &sdev->pcm_list); in sof_dai_load()
2616 ret = sof_parse_tokens(scomp, spcm, stream_tokens, in sof_dai_load()
2626 if (!spcm->pcm.playback) in sof_dai_load()
2632 spcm->pcm.pcm_name, spcm->stream[stream].d0i3_compatible); in sof_dai_load()
2634 caps = &spcm->pcm.caps[stream]; in sof_dai_load()
2638 PAGE_SIZE, &spcm->stream[stream].page_table); in sof_dai_load()
2647 ret = spcm_bind(scomp, spcm, stream); in sof_dai_load()
2658 if (!spcm->pcm.capture) in sof_dai_load()
2662 spcm->pcm.pcm_name, spcm->stream[stream].d0i3_compatible); in sof_dai_load()
2664 caps = &spcm->pcm.caps[stream]; in sof_dai_load()
2668 PAGE_SIZE, &spcm->stream[stream].page_table); in sof_dai_load()
2676 ret = spcm_bind(scomp, spcm, stream); in sof_dai_load()
2680 snd_dma_free_pages(&spcm->stream[stream].page_table); in sof_dai_load()
2687 if (spcm->pcm.playback) in sof_dai_load()
2688 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table); in sof_dai_load()
2696 struct snd_sof_pcm *spcm = dobj->private; in sof_dai_unload() local
2699 if (spcm->pcm.playback) in sof_dai_unload()
2700 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table); in sof_dai_unload()
2702 if (spcm->pcm.capture) in sof_dai_unload()
2703 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_CAPTURE].page_table); in sof_dai_unload()
2706 list_del(&spcm->list); in sof_dai_unload()
2707 kfree(spcm); in sof_dai_unload()