spcm 30 sound/soc/sof/core.c struct snd_sof_pcm *spcm; spcm 32 sound/soc/sof/core.c list_for_each_entry(spcm, &sdev->pcm_list, list) { spcm 34 sound/soc/sof/core.c if (strcmp(spcm->pcm.dai_name, name) == 0) spcm 35 sound/soc/sof/core.c return spcm; spcm 38 sound/soc/sof/core.c if (*spcm->pcm.caps[0].name && spcm 39 sound/soc/sof/core.c !strcmp(spcm->pcm.caps[0].name, name)) spcm 40 sound/soc/sof/core.c return spcm; spcm 43 sound/soc/sof/core.c if (*spcm->pcm.caps[1].name && spcm 44 sound/soc/sof/core.c !strcmp(spcm->pcm.caps[1].name, name)) spcm 45 sound/soc/sof/core.c return spcm; spcm 55 sound/soc/sof/core.c struct snd_sof_pcm *spcm; spcm 57 sound/soc/sof/core.c list_for_each_entry(spcm, &sdev->pcm_list, list) { spcm 58 sound/soc/sof/core.c if (spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].comp_id == comp_id) { spcm 60 sound/soc/sof/core.c return spcm; spcm 62 sound/soc/sof/core.c if (spcm->stream[SNDRV_PCM_STREAM_CAPTURE].comp_id == comp_id) { spcm 64 sound/soc/sof/core.c return spcm; spcm 74 sound/soc/sof/core.c struct snd_sof_pcm *spcm; spcm 76 sound/soc/sof/core.c list_for_each_entry(spcm, &sdev->pcm_list, list) { spcm 77 sound/soc/sof/core.c if (le32_to_cpu(spcm->pcm.pcm_id) == pcm_id) spcm 78 sound/soc/sof/core.c return spcm; spcm 143 sound/soc/sof/intel/hda-pcm.c struct snd_sof_pcm *spcm; spcm 146 sound/soc/sof/intel/hda-pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 147 sound/soc/sof/intel/hda-pcm.c if (!spcm) { spcm 155 sound/soc/sof/intel/hda-pcm.c pos = spcm->stream[substream->stream].posn.host_posn; spcm 412 sound/soc/sof/ipc.c struct snd_sof_pcm *spcm; spcm 415 sound/soc/sof/ipc.c spcm = snd_sof_find_spcm_comp(sdev, msg_id, &direction); spcm 416 sound/soc/sof/ipc.c if (!spcm) { spcm 423 sound/soc/sof/ipc.c stream = &spcm->stream[direction]; spcm 441 sound/soc/sof/ipc.c struct snd_sof_pcm *spcm; spcm 444 sound/soc/sof/ipc.c spcm = snd_sof_find_spcm_comp(sdev, msg_id, &direction); spcm 445 sound/soc/sof/ipc.c if (!spcm) { spcm 451 sound/soc/sof/ipc.c stream = &spcm->stream[direction]; spcm 487 sound/soc/sof/ipc.c struct snd_sof_pcm *spcm, int direction, spcm 496 sound/soc/sof/ipc.c stream.comp_id = spcm->stream[direction].comp_id; spcm 29 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 33 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 34 sound/soc/sof/pcm.c if (!spcm) spcm 38 sound/soc/sof/pcm.c spcm->stream[stream].page_table.area, size); spcm 41 sound/soc/sof/pcm.c static int sof_pcm_dsp_params(struct snd_sof_pcm *spcm, struct snd_pcm_substream *substream, spcm 44 sound/soc/sof/pcm.c struct snd_sof_dev *sdev = spcm->sdev; spcm 50 sound/soc/sof/pcm.c spcm->pcm.pcm_id); spcm 76 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 78 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 79 sound/soc/sof/pcm.c if (!spcm) { spcm 93 sound/soc/sof/pcm.c schedule_work(&spcm->stream[substream->stream].period_elapsed_work); spcm 106 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 115 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 116 sound/soc/sof/pcm.c if (!spcm) spcm 120 sound/soc/sof/pcm.c spcm->pcm.pcm_id, substream->stream); spcm 128 sound/soc/sof/pcm.c params_buffer_bytes(params), spcm->pcm.pcm_id); spcm 150 sound/soc/sof/pcm.c pcm.comp_id = spcm->stream[substream->stream].comp_id; spcm 153 sound/soc/sof/pcm.c spcm->stream[substream->stream].page_table.addr; spcm 207 sound/soc/sof/pcm.c ret = sof_pcm_dsp_params(spcm, substream, &ipc_params_reply); spcm 211 sound/soc/sof/pcm.c spcm->prepared[substream->stream] = true; spcm 214 sound/soc/sof/pcm.c memcpy(&spcm->params[substream->stream], params, sizeof(*params)); spcm 221 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm) spcm 229 sound/soc/sof/pcm.c stream.comp_id = spcm->stream[substream->stream].comp_id; spcm 235 sound/soc/sof/pcm.c spcm->prepared[substream->stream] = false; spcm 246 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 253 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 254 sound/soc/sof/pcm.c if (!spcm) spcm 257 sound/soc/sof/pcm.c dev_dbg(sdev->dev, "pcm: free stream %d dir %d\n", spcm->pcm.pcm_id, spcm 260 sound/soc/sof/pcm.c if (spcm->prepared[substream->stream]) { spcm 261 sound/soc/sof/pcm.c ret = sof_pcm_dsp_pcm_free(substream, sdev, spcm); spcm 268 sound/soc/sof/pcm.c cancel_work_sync(&spcm->stream[substream->stream].period_elapsed_work); spcm 285 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 292 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 293 sound/soc/sof/pcm.c if (!spcm) spcm 296 sound/soc/sof/pcm.c if (spcm->prepared[substream->stream]) spcm 299 sound/soc/sof/pcm.c dev_dbg(sdev->dev, "pcm: prepare stream %d dir %d\n", spcm->pcm.pcm_id, spcm 303 sound/soc/sof/pcm.c ret = sof_pcm_hw_params(substream, &spcm->params[substream->stream]); spcm 322 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 333 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 334 sound/soc/sof/pcm.c if (!spcm) spcm 338 sound/soc/sof/pcm.c spcm->pcm.pcm_id, substream->stream, cmd); spcm 342 sound/soc/sof/pcm.c stream.comp_id = spcm->stream[substream->stream].comp_id; spcm 393 sound/soc/sof/pcm.c ret = sof_pcm_dsp_pcm_free(substream, sdev, spcm); spcm 404 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 415 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 416 sound/soc/sof/pcm.c if (!spcm) spcm 421 sound/soc/sof/pcm.c spcm->stream[substream->stream].posn.host_posn); spcm 423 sound/soc/sof/pcm.c spcm->stream[substream->stream].posn.dai_posn); spcm 426 sound/soc/sof/pcm.c spcm->pcm.pcm_id, substream->stream, host, dai); spcm 438 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 446 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 447 sound/soc/sof/pcm.c if (!spcm) spcm 450 sound/soc/sof/pcm.c dev_dbg(sdev->dev, "pcm: open stream %d dir %d\n", spcm->pcm.pcm_id, spcm 453 sound/soc/sof/pcm.c INIT_WORK(&spcm->stream[substream->stream].period_elapsed_work, spcm 456 sound/soc/sof/pcm.c caps = &spcm->pcm.caps[substream->stream]; spcm 496 sound/soc/sof/pcm.c spcm->stream[substream->stream].posn.host_posn = 0; spcm 497 sound/soc/sof/pcm.c spcm->stream[substream->stream].posn.dai_posn = 0; spcm 498 sound/soc/sof/pcm.c spcm->stream[substream->stream].substream = substream; spcm 499 sound/soc/sof/pcm.c spcm->prepared[substream->stream] = false; spcm 514 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 521 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 522 sound/soc/sof/pcm.c if (!spcm) spcm 525 sound/soc/sof/pcm.c dev_dbg(sdev->dev, "pcm: close stream %d dir %d\n", spcm->pcm.pcm_id, spcm 563 sound/soc/sof/pcm.c struct snd_sof_pcm *spcm; spcm 569 sound/soc/sof/pcm.c spcm = snd_sof_find_spcm_dai(sdev, rtd); spcm 570 sound/soc/sof/pcm.c if (!spcm) { spcm 576 sound/soc/sof/pcm.c dev_dbg(sdev->dev, "creating new PCM %s\n", spcm->pcm.pcm_name); spcm 579 sound/soc/sof/pcm.c if (!spcm->pcm.playback) spcm 582 sound/soc/sof/pcm.c caps = &spcm->pcm.caps[stream]; spcm 596 sound/soc/sof/pcm.c if (!spcm->pcm.capture) spcm 599 sound/soc/sof/pcm.c caps = &spcm->pcm.caps[stream]; spcm 219 sound/soc/sof/pm.c struct snd_sof_pcm *spcm; spcm 228 sound/soc/sof/pm.c list_for_each_entry(spcm, &sdev->pcm_list, list) { spcm 230 sound/soc/sof/pm.c substream = spcm->stream[dir].substream; spcm 236 sound/soc/sof/pm.c spcm->prepared[dir] = false; spcm 514 sound/soc/sof/sof-priv.h struct snd_sof_pcm *spcm = NULL; spcm 516 sound/soc/sof/sof-priv.h list_for_each_entry(spcm, &sdev->pcm_list, list) { spcm 517 sound/soc/sof/sof-priv.h if (le32_to_cpu(spcm->pcm.dai_id) == rtd->dai_link->id) spcm 518 sound/soc/sof/sof-priv.h return spcm; spcm 537 sound/soc/sof/sof-priv.h struct snd_sof_pcm *spcm, int direction, spcm 59 sound/soc/sof/topology.c struct snd_sof_pcm *spcm; spcm 65 sound/soc/sof/topology.c spcm = snd_sof_find_spcm_name(sdev, swidget->widget->sname); spcm 66 sound/soc/sof/topology.c if (!spcm) { spcm 72 sound/soc/sof/topology.c params = &spcm->params[dir]; spcm 1282 sound/soc/sof/topology.c static int spcm_bind(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, spcm 1288 sound/soc/sof/topology.c spcm->pcm.caps[dir].name, spcm 1295 sound/soc/sof/topology.c spcm->stream[dir].comp_id = host_widget->comp_id; spcm 2275 sound/soc/sof/topology.c struct snd_sof_pcm *spcm; spcm 2283 sound/soc/sof/topology.c spcm = kzalloc(sizeof(*spcm), GFP_KERNEL); spcm 2284 sound/soc/sof/topology.c if (!spcm) spcm 2287 sound/soc/sof/topology.c spcm->sdev = sdev; spcm 2288 sound/soc/sof/topology.c spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].comp_id = COMP_ID_UNASSIGNED; spcm 2289 sound/soc/sof/topology.c spcm->stream[SNDRV_PCM_STREAM_CAPTURE].comp_id = COMP_ID_UNASSIGNED; spcm 2292 sound/soc/sof/topology.c spcm->pcm = *pcm; spcm 2295 sound/soc/sof/topology.c dai_drv->dobj.private = spcm; spcm 2296 sound/soc/sof/topology.c list_add(&spcm->list, &sdev->pcm_list); spcm 2299 sound/soc/sof/topology.c if (!spcm->pcm.playback) spcm 2302 sound/soc/sof/topology.c caps = &spcm->pcm.caps[stream]; spcm 2306 sound/soc/sof/topology.c PAGE_SIZE, &spcm->stream[stream].page_table); spcm 2315 sound/soc/sof/topology.c ret = spcm_bind(sdev, spcm, stream); spcm 2326 sound/soc/sof/topology.c if (!spcm->pcm.capture) spcm 2329 sound/soc/sof/topology.c caps = &spcm->pcm.caps[stream]; spcm 2333 sound/soc/sof/topology.c PAGE_SIZE, &spcm->stream[stream].page_table); spcm 2341 sound/soc/sof/topology.c ret = spcm_bind(sdev, spcm, stream); spcm 2345 sound/soc/sof/topology.c snd_dma_free_pages(&spcm->stream[stream].page_table); spcm 2352 sound/soc/sof/topology.c if (spcm->pcm.playback) spcm 2353 sound/soc/sof/topology.c snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table); spcm 2361 sound/soc/sof/topology.c struct snd_sof_pcm *spcm = dobj->private; spcm 2364 sound/soc/sof/topology.c if (spcm->pcm.playback) spcm 2365 sound/soc/sof/topology.c snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].page_table); spcm 2367 sound/soc/sof/topology.c if (spcm->pcm.capture) spcm 2368 sound/soc/sof/topology.c snd_dma_free_pages(&spcm->stream[SNDRV_PCM_STREAM_CAPTURE].page_table); spcm 2371 sound/soc/sof/topology.c list_del(&spcm->list); spcm 2372 sound/soc/sof/topology.c kfree(spcm);