Lines Matching defs:spcm

1151 static int spcm_bind(struct snd_soc_component *scomp, struct snd_sof_pcm *spcm,
1161 spcm->pcm.caps[dir].name,
1168 spcm->stream[dir].comp_id = host_widget->comp_id;
1712 struct snd_sof_pcm *spcm;
1720 spcm = kzalloc(sizeof(*spcm), GFP_KERNEL);
1721 if (!spcm)
1724 spcm->scomp = scomp;
1727 spcm->stream[stream].comp_id = COMP_ID_UNASSIGNED;
1729 snd_sof_compr_init_elapsed_work(&spcm->stream[stream].period_elapsed_work);
1731 snd_sof_pcm_init_elapsed_work(&spcm->stream[stream].period_elapsed_work);
1734 spcm->pcm = *pcm;
1739 ret = ipc_pcm_ops->pcm_setup(sdev, spcm);
1741 kfree(spcm);
1746 dai_drv->dobj.private = spcm;
1747 list_add(&spcm->list, &sdev->pcm_list);
1749 ret = sof_parse_tokens(scomp, spcm, stream_tokens,
1759 if (!spcm->pcm.playback)
1764 caps = &spcm->pcm.caps[stream];
1768 PAGE_SIZE, &spcm->stream[stream].page_table);
1777 ret = spcm_bind(scomp, spcm, stream);
1788 if (!spcm->pcm.capture)
1791 caps = &spcm->pcm.caps[stream];
1795 PAGE_SIZE, &spcm->stream[stream].page_table);
1803 ret = spcm_bind(scomp, spcm, stream);
1807 snd_dma_free_pages(&spcm->stream[stream].page_table);
1814 if (spcm->pcm.playback)
1815 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table);
1825 struct snd_sof_pcm *spcm = dobj->private;
1828 if (spcm->pcm.playback)
1829 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table);
1831 if (spcm->pcm.capture)
1832 snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_CAPTURE].page_table);
1836 ipc_pcm_ops->pcm_free(sdev, spcm);
1838 /* remove from list and free spcm */
1839 list_del(&spcm->list);
1840 kfree(spcm);