Lines Matching refs:spcm

1149 static int spcm_bind(struct snd_soc_component *scomp, struct snd_sof_pcm *spcm,  in spcm_bind()  argument
1159 spcm->pcm.caps[dir].name, in spcm_bind()
1166 spcm->stream[dir].comp_id = host_widget->comp_id; in spcm_bind()
1711 struct snd_sof_pcm *spcm; in sof_dai_load() local
1719 spcm = kzalloc(sizeof(*spcm), GFP_KERNEL); in sof_dai_load()
1720 if (!spcm) in sof_dai_load()
1723 spcm->scomp = scomp; in sof_dai_load()
1726 spcm->stream[stream].comp_id = COMP_ID_UNASSIGNED; in sof_dai_load()
1728 snd_sof_compr_init_elapsed_work(&spcm->stream[stream].period_elapsed_work); in sof_dai_load()
1730 snd_sof_pcm_init_elapsed_work(&spcm->stream[stream].period_elapsed_work); in sof_dai_load()
1733 spcm->pcm = *pcm; in sof_dai_load()
1738 ret = ipc_pcm_ops->pcm_setup(sdev, spcm); in sof_dai_load()
1743 dai_drv->dobj.private = spcm; in sof_dai_load()
1744 list_add(&spcm->list, &sdev->pcm_list); in sof_dai_load()
1746 ret = sof_parse_tokens(scomp, spcm, stream_tokens, in sof_dai_load()
1756 if (!spcm->pcm.playback) in sof_dai_load()
1761 caps = &spcm->pcm.caps[stream]; in sof_dai_load()
1765 PAGE_SIZE, &spcm->stream[stream].page_table); in sof_dai_load()
1774 ret = spcm_bind(scomp, spcm, stream); in sof_dai_load()
1785 if (!spcm->pcm.capture) in sof_dai_load()
1788 caps = &spcm->pcm.caps[stream]; in sof_dai_load()
1792 PAGE_SIZE, &spcm->stream[stream].page_table); in sof_dai_load()
1800 ret = spcm_bind(scomp, spcm, stream); in sof_dai_load()
1804 snd_dma_free_pages(&spcm->stream[stream].page_table); in sof_dai_load()
1811 if (spcm->pcm.playback) in sof_dai_load()
1812 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table); in sof_dai_load()
1822 struct snd_sof_pcm *spcm = dobj->private; in sof_dai_unload() local
1825 if (spcm->pcm.playback) in sof_dai_unload()
1826 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table); in sof_dai_unload()
1828 if (spcm->pcm.capture) in sof_dai_unload()
1829 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_CAPTURE].page_table); in sof_dai_unload()
1833 ipc_pcm_ops->pcm_free(sdev, spcm); in sof_dai_unload()
1836 list_del(&spcm->list); in sof_dai_unload()
1837 kfree(spcm); in sof_dai_unload()