/openbmc/linux/sound/soc/sof/ |
H A D | pcm.c | 29 struct snd_sof_pcm *spcm; in create_page_table() local 33 spcm = snd_sof_find_spcm_dai(component, rtd); in create_page_table() 34 if (!spcm) in create_page_table() 38 spcm->stream[stream].page_table.area, size); in create_page_table() 66 struct snd_sof_pcm *spcm; in snd_sof_pcm_period_elapsed() local 68 spcm = snd_sof_find_spcm_dai(component, rtd); in snd_sof_pcm_period_elapsed() 69 if (!spcm) { in snd_sof_pcm_period_elapsed() 83 schedule_work(&spcm->stream[substream->stream].period_elapsed_work); in snd_sof_pcm_period_elapsed() 89 struct snd_sof_pcm *spcm, struct snd_pcm_hw_params *params, in sof_pcm_setup_connected_widgets() argument 107 spcm->stream[dir].list = list; in sof_pcm_setup_connected_widgets() [all …]
|
H A D | compress.c | 54 struct snd_sof_pcm *spcm; in snd_sof_compr_fragment_elapsed() local 64 spcm = snd_sof_find_spcm_dai(component, rtd); in snd_sof_compr_fragment_elapsed() 65 if (!spcm) { in snd_sof_compr_fragment_elapsed() 71 sof_set_transferred_bytes(sstream, spcm->stream[cstream->direction].posn.host_posn, in snd_sof_compr_fragment_elapsed() 75 schedule_work(&spcm->stream[cstream->direction].period_elapsed_work); in snd_sof_compr_fragment_elapsed() 85 struct snd_sof_pcm *spcm; in create_page_table() local 87 spcm = snd_sof_find_spcm_dai(component, rtd); in create_page_table() 88 if (!spcm) in create_page_table() 92 spcm->stream[dir].page_table.area, size); in create_page_table() 101 struct snd_sof_pcm *spcm; in sof_compr_open() local [all …]
|
H A D | sof-audio.c | 508 int dir, struct snd_sof_pcm *spcm) in sof_free_widgets_in_path() argument 510 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list; in sof_free_widgets_in_path() 532 err = sof_free_widgets_in_path(sdev, p->sink, dir, spcm); in sof_free_widgets_in_path() 548 int dir, struct snd_sof_pcm *spcm) in sof_set_up_widgets_in_path() argument 550 struct snd_sof_pcm_stream_pipeline_list *pipeline_list = &spcm->stream[dir].pipeline_list; in sof_set_up_widgets_in_path() 551 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list; in sof_set_up_widgets_in_path() 596 ret = sof_set_up_widgets_in_path(sdev, p->sink, dir, spcm); in sof_set_up_widgets_in_path() 610 sof_walk_widgets_in_order(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, in sof_walk_widgets_in_order() argument 615 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list; in sof_walk_widgets_in_order() 638 ret = sof_set_up_widgets_in_path(sdev, widget, dir, spcm); in sof_walk_widgets_in_order() [all …]
|
H A D | ipc4-pcm.c | 290 struct snd_sof_pcm *spcm; in sof_ipc4_trigger_pipelines() local 296 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_ipc4_trigger_pipelines() 297 if (!spcm) in sof_ipc4_trigger_pipelines() 300 pipeline_list = &spcm->stream[substream->stream].pipeline_list; in sof_ipc4_trigger_pipelines() 582 static void sof_ipc4_pcm_free(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm) in sof_ipc4_pcm_free() argument 588 pipeline_list = &spcm->stream[stream].pipeline_list; in sof_ipc4_pcm_free() 591 kfree(spcm->stream[stream].private); in sof_ipc4_pcm_free() 592 spcm->stream[stream].private = NULL; in sof_ipc4_pcm_free() 596 static int sof_ipc4_pcm_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm) in sof_ipc4_pcm_setup() argument 614 pipeline_list = &spcm->stream[stream].pipeline_list; in sof_ipc4_pcm_setup() [all …]
|
H A D | ipc3-pcm.c | 22 struct snd_sof_pcm *spcm; in sof_ipc3_pcm_hw_free() local 24 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_ipc3_pcm_hw_free() 25 if (!spcm) in sof_ipc3_pcm_hw_free() 28 if (!spcm->prepared[substream->stream]) in sof_ipc3_pcm_hw_free() 33 stream.comp_id = spcm->stream[substream->stream].comp_id; in sof_ipc3_pcm_hw_free() 50 struct snd_sof_pcm *spcm; in sof_ipc3_pcm_hw_params() local 53 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_ipc3_pcm_hw_params() 54 if (!spcm) in sof_ipc3_pcm_hw_params() 65 pcm.comp_id = spcm->stream[substream->stream].comp_id; in sof_ipc3_pcm_hw_params() 67 pcm.params.buffer.phy_addr = spcm->stream[substream->stream].page_table.addr; in sof_ipc3_pcm_hw_params() [all …]
|
H A D | sof-audio.h | 126 int (*pcm_setup)(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm); 127 void (*pcm_free)(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm); 570 struct snd_sof_pcm *spcm, int direction, 586 struct snd_sof_pcm *spcm; in snd_sof_find_spcm_dai() local 588 list_for_each_entry(spcm, &sdev->pcm_list, list) { in snd_sof_find_spcm_dai() 589 if (le32_to_cpu(spcm->pcm.dai_id) == rtd->dai_link->id) in snd_sof_find_spcm_dai() 590 return spcm; in snd_sof_find_spcm_dai() 629 int sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, 633 int sof_widget_list_free(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, int dir); 635 struct snd_sof_pcm *spcm); [all …]
|
H A D | topology.c | 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() [all …]
|
H A D | ipc3.c | 875 struct snd_sof_pcm *spcm; in ipc3_period_elapsed() local 878 spcm = snd_sof_find_spcm_comp(scomp, msg_id, &direction); in ipc3_period_elapsed() 879 if (!spcm) { in ipc3_period_elapsed() 885 stream = &spcm->stream[direction]; in ipc3_period_elapsed() 896 if (spcm->pcm.compress) in ipc3_period_elapsed() 910 struct snd_sof_pcm *spcm; in ipc3_xrun() local 913 spcm = snd_sof_find_spcm_comp(scomp, msg_id, &direction); in ipc3_xrun() 914 if (!spcm) { in ipc3_xrun() 920 stream = &spcm->stream[direction]; in ipc3_xrun()
|
H A D | ipc3-topology.c | 1818 struct snd_sof_pcm *spcm; in sof_ipc3_keyword_detect_pcm_params() local 1822 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_ipc3_keyword_detect_pcm_params() 1823 if (!spcm) { in sof_ipc3_keyword_detect_pcm_params() 1828 params = &spcm->params[dir]; in sof_ipc3_keyword_detect_pcm_params() 1894 struct snd_sof_pcm *spcm; in sof_ipc3_keyword_dapm_event() local 1906 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_ipc3_keyword_dapm_event() 1907 if (!spcm) { in sof_ipc3_keyword_dapm_event() 1916 if (spcm->stream[stream].suspend_ignored) { in sof_ipc3_keyword_dapm_event() 1936 if (spcm->stream[stream].suspend_ignored) { in sof_ipc3_keyword_dapm_event() 2298 struct snd_sof_pcm *spcm; in sof_tear_down_left_over_pipelines() local [all …]
|
H A D | ipc4-topology.c | 2935 struct snd_sof_pcm *spcm; in sof_ipc4_tear_down_all_pipelines() local 2949 list_for_each_entry(spcm, &sdev->pcm_list, list) { in sof_ipc4_tear_down_all_pipelines() 2951 struct snd_pcm_substream *substream = spcm->stream[dir].substream; in sof_ipc4_tear_down_all_pipelines() 2953 if (!substream || !substream->runtime || spcm->stream[dir].suspend_ignored) in sof_ipc4_tear_down_all_pipelines() 2956 if (spcm->stream[dir].list) { in sof_ipc4_tear_down_all_pipelines() 2957 ret = sof_pcm_stream_free(sdev, substream, spcm, dir, true); in sof_ipc4_tear_down_all_pipelines()
|
/openbmc/linux/sound/soc/intel/boards/ |
H A D | hda_dsp_common.c | 24 struct snd_pcm *spcm; in hda_dsp_hdmi_pcm_handle() local 28 spcm = rtd->pcm ? in hda_dsp_hdmi_pcm_handle() 30 if (spcm && strstr(spcm->id, "HDMI")) { in hda_dsp_hdmi_pcm_handle() 49 struct snd_pcm *spcm; in hda_dsp_hdmi_build_controls() local 60 spcm = hda_dsp_hdmi_pcm_handle(card, i); in hda_dsp_hdmi_build_controls() 61 if (spcm) { in hda_dsp_hdmi_build_controls() 62 hpcm->pcm = spcm; in hda_dsp_hdmi_build_controls() 63 hpcm->device = spcm->device; in hda_dsp_hdmi_build_controls() 66 i, hpcm->device, spcm); in hda_dsp_hdmi_build_controls()
|
/openbmc/linux/sound/soc/intel/avs/boards/ |
H A D | hdaudio.c | 80 struct snd_pcm *spcm; in avs_card_hdmi_pcm_at() local 83 spcm = rtd->pcm ? rtd->pcm->streams[dir].pcm : NULL; in avs_card_hdmi_pcm_at() 84 if (!spcm || !strstr(spcm->id, FEDAI_NAME_PREFIX)) in avs_card_hdmi_pcm_at() 87 ret = sscanf(spcm->id, FEDAI_NAME_PREFIX "%d", &n); in avs_card_hdmi_pcm_at() 106 struct snd_pcm *spcm; in avs_card_late_probe() local 108 spcm = avs_card_hdmi_pcm_at(card, i); in avs_card_late_probe() 109 if (spcm) { in avs_card_late_probe() 110 hpcm->pcm = spcm; in avs_card_late_probe() 111 hpcm->device = spcm->device; in avs_card_late_probe() 113 __func__, i, hpcm->device, spcm); in avs_card_late_probe()
|
/openbmc/linux/sound/soc/sof/intel/ |
H A D | hda-pcm.c | 184 struct snd_sof_pcm *spcm; in hda_dsp_pcm_pointer() local 187 spcm = snd_sof_find_spcm_dai(scomp, rtd); in hda_dsp_pcm_pointer() 188 if (!spcm) { in hda_dsp_pcm_pointer() 196 pos = spcm->stream[substream->stream].posn.host_posn; in hda_dsp_pcm_pointer() 215 struct snd_sof_pcm *spcm; in hda_dsp_pcm_open() local 219 spcm = snd_sof_find_spcm_dai(scomp, rtd); in hda_dsp_pcm_open() 220 if (!spcm) { in hda_dsp_pcm_open() 241 spcm->stream[substream->stream].d0i3_compatible) in hda_dsp_pcm_open()
|
H A D | hda-dsp.c | 434 struct snd_sof_pcm *spcm; in hda_dsp_d0i3_streaming_applicable() local 438 list_for_each_entry(spcm, &sdev->pcm_list, list) { in hda_dsp_d0i3_streaming_applicable() 440 substream = spcm->stream[dir].substream; in hda_dsp_d0i3_streaming_applicable() 444 if (!spcm->stream[dir].d0i3_compatible) in hda_dsp_d0i3_streaming_applicable()
|
/openbmc/linux/sound/soc/sof/amd/ |
H A D | acp-pcm.c | 96 struct snd_sof_pcm *spcm; in acp_pcm_pointer() local 100 spcm = snd_sof_find_spcm_dai(scomp, rtd); in acp_pcm_pointer() 101 if (!spcm) { in acp_pcm_pointer() 107 stream = &spcm->stream[substream->stream]; in acp_pcm_pointer() 115 pos = spcm->stream[substream->stream].posn.host_posn; in acp_pcm_pointer()
|
/openbmc/linux/include/trace/events/ |
H A D | sof.h | 64 struct snd_sof_pcm *spcm, 69 TP_ARGS(sdev, spcm, substream, dma_posn, dai_posn), 79 __entry->pcm_id = le32_to_cpu(spcm->pcm.pcm_id);
|
/openbmc/linux/sound/soc/sof/mediatek/mt8195/ |
H A D | mt8195.c | 475 struct snd_sof_pcm *spcm; in mt8195_pcm_pointer() local 481 spcm = snd_sof_find_spcm_dai(scomp, rtd); in mt8195_pcm_pointer() 482 if (!spcm) { in mt8195_pcm_pointer() 488 stream = &spcm->stream[substream->stream]; in mt8195_pcm_pointer() 496 pos = spcm->stream[substream->stream].posn.host_posn; in mt8195_pcm_pointer()
|
/openbmc/linux/sound/soc/sof/mediatek/mt8186/ |
H A D | mt8186.c | 456 struct snd_sof_pcm *spcm; in mt8186_pcm_pointer() local 462 spcm = snd_sof_find_spcm_dai(scomp, rtd); in mt8186_pcm_pointer() 463 if (!spcm) { in mt8186_pcm_pointer() 469 stream = &spcm->stream[substream->stream]; in mt8186_pcm_pointer() 477 pos = spcm->stream[substream->stream].posn.host_posn; in mt8186_pcm_pointer()
|