Lines Matching refs:spcm
65 struct snd_sof_pcm *spcm;
71 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname);
72 if (!spcm) {
78 params = &spcm->params[dir];
147 struct snd_sof_pcm *spcm;
159 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname);
160 if (!spcm) {
169 if (spcm->stream[stream].suspend_ignored) {
191 if (spcm->stream[stream].suspend_ignored) {
1620 static int spcm_bind(struct snd_soc_component *scomp, struct snd_sof_pcm *spcm,
1626 spcm->pcm.caps[dir].name,
1633 spcm->stream[dir].comp_id = host_widget->comp_id;
2663 struct snd_sof_pcm *spcm;
2671 spcm = kzalloc(sizeof(*spcm), GFP_KERNEL);
2672 if (!spcm)
2675 spcm->scomp = scomp;
2678 spcm->stream[stream].comp_id = COMP_ID_UNASSIGNED;
2679 INIT_WORK(&spcm->stream[stream].period_elapsed_work,
2683 spcm->pcm = *pcm;
2686 dai_drv->dobj.private = spcm;
2687 list_add(&spcm->list, &sdev->pcm_list);
2689 ret = sof_parse_tokens(scomp, spcm, stream_tokens,
2699 if (!spcm->pcm.playback)
2705 spcm->pcm.pcm_name, spcm->stream[stream].d0i3_compatible);
2707 caps = &spcm->pcm.caps[stream];
2711 PAGE_SIZE, &spcm->stream[stream].page_table);
2720 ret = spcm_bind(scomp, spcm, stream);
2731 if (!spcm->pcm.capture)
2735 spcm->pcm.pcm_name, spcm->stream[stream].d0i3_compatible);
2737 caps = &spcm->pcm.caps[stream];
2741 PAGE_SIZE, &spcm->stream[stream].page_table);
2749 ret = spcm_bind(scomp, spcm, stream);
2753 snd_dma_free_pages(&spcm->stream[stream].page_table);
2760 if (spcm->pcm.playback)
2761 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table);
2769 struct snd_sof_pcm *spcm = dobj->private;
2772 if (spcm->pcm.playback)
2773 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table);
2775 if (spcm->pcm.capture)
2776 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_CAPTURE].page_table);
2778 /* remove from list and free spcm */
2779 list_del(&spcm->list);
2780 kfree(spcm);