Home
last modified time | relevance | path

Searched refs:spcm (Results 1 - 25 of 25) sorted by relevance

/kernel/linux/linux-6.6/sound/soc/sof/
H A Dpcm.c29 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()
107 spcm in sof_pcm_setup_connected_widgets()
88 sof_pcm_setup_connected_widgets(struct snd_sof_dev *sdev, struct snd_soc_pcm_runtime *rtd, struct snd_sof_pcm *spcm, struct snd_pcm_hw_params *params, struct snd_sof_platform_stream_params *platform_params, int dir) sof_pcm_setup_connected_widgets() argument
131 struct snd_sof_pcm *spcm; sof_pcm_hw_params() local
200 struct snd_sof_pcm *spcm; sof_pcm_hw_free() local
250 struct snd_sof_pcm *spcm; sof_pcm_prepare() local
289 struct snd_sof_pcm *spcm; sof_pcm_trigger() local
391 struct snd_sof_pcm *spcm; sof_pcm_pointer() local
424 struct snd_sof_pcm *spcm; sof_pcm_open() local
487 struct snd_sof_pcm *spcm; sof_pcm_close() local
523 struct snd_sof_pcm *spcm; sof_pcm_new() local
[all...]
H A Dcompress.c54 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
138 struct snd_sof_pcm *spcm; sof_compr_free() local
173 struct snd_sof_pcm *spcm; sof_compr_set_params() local
274 struct snd_sof_pcm *spcm; sof_compr_trigger() local
366 struct snd_sof_pcm *spcm; sof_compr_pointer() local
[all...]
H A Dsof-audio.c508 int dir, struct snd_sof_pcm *spcm) in sof_free_widgets_in_path()
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()
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()
507 sof_free_widgets_in_path(struct snd_sof_dev *sdev, struct snd_soc_dapm_widget *widget, int dir, struct snd_sof_pcm *spcm) sof_free_widgets_in_path() argument
547 sof_set_up_widgets_in_path(struct snd_sof_dev *sdev, struct snd_soc_dapm_widget *widget, int dir, struct snd_sof_pcm *spcm) sof_set_up_widgets_in_path() argument
678 sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, struct snd_pcm_hw_params *fe_params, struct snd_sof_platform_stream_params *platform_params, int dir) sof_widget_list_setup() argument
765 sof_widget_list_free(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, int dir) sof_widget_list_free() argument
796 struct snd_sof_pcm *spcm; snd_sof_dsp_only_d0i3_compatible_stream_active() local
824 struct snd_sof_pcm *spcm; snd_sof_stream_suspend_ignored() local
835 sof_pcm_stream_free(struct snd_sof_dev *sdev, struct snd_pcm_substream *substream, struct snd_sof_pcm *spcm, int dir, bool free_widget_list) sof_pcm_stream_free() argument
879 struct snd_sof_pcm *spcm; snd_sof_find_spcm_name() local
905 struct snd_sof_pcm *spcm; snd_sof_find_spcm_comp() local
[all...]
H A Dipc4-pcm.c290 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 in sof_ipc4_pcm_setup()
639 sof_ipc4_build_time_info(struct snd_sof_dev *sdev, struct snd_sof_pcm_stream *spcm) sof_ipc4_build_time_info() argument
720 struct snd_sof_pcm *spcm; sof_ipc4_pcm_hw_params() local
784 struct snd_sof_pcm *spcm; sof_ipc4_pcm_delay() local
[all...]
H A Dipc3-pcm.c22 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 in sof_ipc3_pcm_hw_params()
148 struct snd_sof_pcm *spcm; sof_ipc3_pcm_trigger() local
[all...]
H A Dsof-audio.h125 int (*pcm_setup)(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm);
126 void (*pcm_free)(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm);
568 struct snd_sof_pcm *spcm, int direction,
584 struct snd_sof_pcm *spcm; in snd_sof_find_spcm_dai() local
586 list_for_each_entry(spcm, &sdev->pcm_list, list) { in snd_sof_find_spcm_dai()
587 if (le32_to_cpu(spcm->pcm.dai_id) == rtd->dai_link->id) in snd_sof_find_spcm_dai()
588 return spcm; in snd_sof_find_spcm_dai()
627 int sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm,
631 int sof_widget_list_free(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, int dir);
633 struct snd_sof_pcm *spcm);
[all...]
H A Dtopology.c1149 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 in sof_dai_load()
1824 struct snd_sof_pcm *spcm = dobj->private; sof_dai_unload() local
[all...]
H A Dipc3.c875 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 Dipc3-topology.c1803 struct snd_sof_pcm *spcm; in sof_ipc3_keyword_detect_pcm_params() local
1807 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_ipc3_keyword_detect_pcm_params()
1808 if (!spcm) { in sof_ipc3_keyword_detect_pcm_params()
1813 params = &spcm->params[dir]; in sof_ipc3_keyword_detect_pcm_params()
1879 struct snd_sof_pcm *spcm; in sof_ipc3_keyword_dapm_event() local
1891 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_ipc3_keyword_dapm_event()
1892 if (!spcm) { in sof_ipc3_keyword_dapm_event()
1901 if (spcm->stream[stream].suspend_ignored) { in sof_ipc3_keyword_dapm_event()
1921 if (spcm->stream[stream].suspend_ignored) { in sof_ipc3_keyword_dapm_event()
2275 struct snd_sof_pcm *spcm; in sof_tear_down_left_over_pipelines() local
[all...]
H A Dipc4-topology.c2878 struct snd_sof_pcm *spcm; in sof_ipc4_tear_down_all_pipelines() local
2892 list_for_each_entry(spcm, &sdev->pcm_list, list) { in sof_ipc4_tear_down_all_pipelines()
2894 struct snd_pcm_substream *substream = spcm->stream[dir].substream; in sof_ipc4_tear_down_all_pipelines()
2896 if (!substream || !substream->runtime || spcm->stream[dir].suspend_ignored) in sof_ipc4_tear_down_all_pipelines()
2899 if (spcm->stream[dir].list) { in sof_ipc4_tear_down_all_pipelines()
2900 ret = sof_pcm_stream_free(sdev, substream, spcm, dir, true); in sof_ipc4_tear_down_all_pipelines()
/kernel/linux/linux-5.10/sound/soc/sof/
H A Dpcm.c29 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()
41 static int sof_pcm_dsp_params(struct snd_sof_pcm *spcm, struct snd_pcm_substream *substream, in sof_pcm_dsp_params() argument
44 struct snd_soc_component *scomp = spcm->scomp; in sof_pcm_dsp_params()
52 spcm->pcm.pcm_id); in sof_pcm_dsp_params()
77 struct snd_sof_pcm *spcm; in snd_sof_pcm_period_elapsed() local
79 spcm = snd_sof_find_spcm_dai(component, rtd); in snd_sof_pcm_period_elapsed()
80 if (!spcm) { in snd_sof_pcm_period_elapsed()
98 sof_pcm_dsp_pcm_free(struct snd_pcm_substream *substream, struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm) sof_pcm_dsp_pcm_free() argument
126 struct snd_sof_pcm *spcm; sof_pcm_hw_params() local
242 struct snd_sof_pcm *spcm; sof_pcm_hw_free() local
277 struct snd_sof_pcm *spcm; sof_pcm_prepare() local
315 struct snd_sof_pcm *spcm; sof_pcm_trigger() local
428 struct snd_sof_pcm *spcm; sof_pcm_pointer() local
463 struct snd_sof_pcm *spcm; sof_pcm_open() local
533 struct snd_sof_pcm *spcm; sof_pcm_close() local
569 struct snd_sof_pcm *spcm; sof_pcm_new() local
[all...]
H A Dsof-audio.c21 struct snd_sof_pcm *spcm; in snd_sof_dsp_only_d0i3_compatible_stream_active() local
25 list_for_each_entry(spcm, &sdev->pcm_list, list) { in snd_sof_dsp_only_d0i3_compatible_stream_active()
27 substream = spcm->stream[dir].substream; in snd_sof_dsp_only_d0i3_compatible_stream_active()
36 if (!spcm->stream[dir].d0i3_compatible) in snd_sof_dsp_only_d0i3_compatible_stream_active()
49 struct snd_sof_pcm *spcm; in snd_sof_stream_suspend_ignored() local
51 list_for_each_entry(spcm, &sdev->pcm_list, list) { in snd_sof_stream_suspend_ignored()
52 if (spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].suspend_ignored || in snd_sof_stream_suspend_ignored()
53 spcm->stream[SNDRV_PCM_STREAM_CAPTURE].suspend_ignored) in snd_sof_stream_suspend_ignored()
64 struct snd_sof_pcm *spcm; in sof_set_hw_params_upon_resume() local
73 list_for_each_entry(spcm, in sof_set_hw_params_upon_resume()
330 struct snd_sof_pcm *spcm; snd_sof_find_spcm_name() local
356 struct snd_sof_pcm *spcm; snd_sof_find_spcm_comp() local
375 struct snd_sof_pcm *spcm; snd_sof_find_spcm_pcm_id() local
[all...]
H A Dsof-audio.h167 struct snd_sof_pcm *spcm, int direction,
184 struct snd_sof_pcm *spcm = NULL; in snd_sof_find_spcm_dai() local
186 list_for_each_entry(spcm, &sdev->pcm_list, list) { in snd_sof_find_spcm_dai()
187 if (le32_to_cpu(spcm->pcm.dai_id) == rtd->dai_link->id) in snd_sof_find_spcm_dai()
188 return spcm; in snd_sof_find_spcm_dai()
H A Dipc.c444 struct snd_sof_pcm *spcm; in ipc_period_elapsed() local
447 spcm = snd_sof_find_spcm_comp(scomp, msg_id, &direction); in ipc_period_elapsed()
448 if (!spcm) { in ipc_period_elapsed()
455 stream = &spcm->stream[direction]; in ipc_period_elapsed()
474 struct snd_sof_pcm *spcm; in ipc_xrun() local
477 spcm = snd_sof_find_spcm_comp(scomp, msg_id, &direction); in ipc_xrun()
478 if (!spcm) { in ipc_xrun()
484 stream = &spcm->stream[direction]; in ipc_xrun()
520 struct snd_sof_pcm *spcm, int direction, in snd_sof_ipc_stream_posn()
530 stream.comp_id = spcm in snd_sof_ipc_stream_posn()
519 snd_sof_ipc_stream_posn(struct snd_soc_component *scomp, struct snd_sof_pcm *spcm, int direction, struct sof_ipc_stream_posn *posn) snd_sof_ipc_stream_posn() argument
[all...]
H A Dtopology.c65 struct snd_sof_pcm *spcm; in ipc_pcm_params() local
71 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in ipc_pcm_params()
72 if (!spcm) { in ipc_pcm_params()
78 params = &spcm->params[dir]; in ipc_pcm_params()
147 struct snd_sof_pcm *spcm; in sof_keyword_dapm_event() local
159 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_keyword_dapm_event()
160 if (!spcm) { in sof_keyword_dapm_event()
169 if (spcm->stream[stream].suspend_ignored) { in sof_keyword_dapm_event()
191 if (spcm->stream[stream].suspend_ignored) { in sof_keyword_dapm_event()
1620 static int spcm_bind(struct snd_soc_component *scomp, struct snd_sof_pcm *spcm, in spcm_bind() argument
2663 struct snd_sof_pcm *spcm; sof_dai_load() local
2769 struct snd_sof_pcm *spcm = dobj->private; sof_dai_unload() local
[all...]
/kernel/linux/linux-5.10/sound/soc/intel/boards/
H A Dhda_dsp_common.c23 struct snd_pcm *spcm; in hda_dsp_hdmi_pcm_handle() local
27 spcm = rtd->pcm ? in hda_dsp_hdmi_pcm_handle()
29 if (spcm && strstr(spcm->id, "HDMI")) { in hda_dsp_hdmi_pcm_handle()
48 struct snd_pcm *spcm; in hda_dsp_hdmi_build_controls() local
59 spcm = hda_dsp_hdmi_pcm_handle(card, i); in hda_dsp_hdmi_build_controls()
60 if (spcm) { in hda_dsp_hdmi_build_controls()
61 hpcm->pcm = spcm; in hda_dsp_hdmi_build_controls()
62 hpcm->device = spcm->device; in hda_dsp_hdmi_build_controls()
65 __func__, i, hpcm->device, spcm); in hda_dsp_hdmi_build_controls()
[all...]
/kernel/linux/linux-6.6/sound/soc/intel/boards/
H A Dhda_dsp_common.c24 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()
[all...]
/kernel/linux/linux-6.6/sound/soc/intel/avs/boards/
H A Dhdaudio.c80 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 in avs_card_late_probe()
[all...]
/kernel/linux/linux-6.6/sound/soc/sof/intel/
H A Dhda-pcm.c184 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 Dhda-dsp.c434 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()
/kernel/linux/linux-6.6/sound/soc/sof/amd/
H A Dacp-pcm.c96 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()
/kernel/linux/linux-5.10/sound/soc/sof/intel/
H A Dhda-pcm.c154 struct snd_sof_pcm *spcm; in hda_dsp_pcm_pointer() local
157 spcm = snd_sof_find_spcm_dai(scomp, rtd); in hda_dsp_pcm_pointer()
158 if (!spcm) { in hda_dsp_pcm_pointer()
166 pos = spcm->stream[substream->stream].posn.host_posn; in hda_dsp_pcm_pointer()
/kernel/linux/linux-6.6/include/trace/events/
H A Dsof.h64 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);
/kernel/linux/linux-6.6/sound/soc/sof/mediatek/mt8186/
H A Dmt8186.c456 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()
/kernel/linux/linux-6.6/sound/soc/sof/mediatek/mt8195/
H A Dmt8195.c475 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()

Completed in 27 milliseconds