Lines Matching refs:spcm

552 				    int dir, struct snd_sof_pcm *spcm)
554 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
586 err = sof_free_widgets_in_path(sdev, p->sink, dir, spcm);
602 int dir, struct snd_sof_pcm *spcm)
604 struct snd_sof_pcm_stream_pipeline_list *pipeline_list = &spcm->stream[dir].pipeline_list;
605 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
658 ret = sof_set_up_widgets_in_path(sdev, p->sink, dir, spcm);
672 sof_walk_widgets_in_order(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm,
677 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
698 ret = sof_set_up_widgets_in_path(sdev, widget, dir, spcm);
702 ret = sof_free_widgets_in_path(sdev, widget, dir, spcm);
738 int sof_widget_list_prepare(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm,
747 return sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params,
751 void sof_widget_list_unprepare(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, int dir)
753 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
756 sof_walk_widgets_in_order(sdev, spcm, NULL, NULL, dir, SOF_WIDGET_UNPREPARE);
759 spcm->stream[dir].list = NULL;
762 int sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm,
768 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
773 if (!list || spcm->setup_done[dir])
777 ret = sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params,
780 sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params,
830 spcm->setup_done[dir] = true;
835 sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params, dir,
837 sof_walk_widgets_in_order(sdev, spcm, NULL, NULL, dir, SOF_WIDGET_UNPREPARE);
842 int sof_widget_list_free(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, int dir)
844 struct snd_sof_pcm_stream_pipeline_list *pipeline_list = &spcm->stream[dir].pipeline_list;
845 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
849 if (!list || !spcm->setup_done[dir])
853 ret = sof_walk_widgets_in_order(sdev, spcm, NULL, NULL, dir, SOF_WIDGET_FREE);
855 spcm->setup_done[dir] = false;
868 struct snd_sof_pcm *spcm;
872 list_for_each_entry(spcm, &sdev->pcm_list, list) {
874 substream = spcm->stream[dir].substream;
883 if (!spcm->stream[dir].d0i3_compatible)
896 struct snd_sof_pcm *spcm;
898 list_for_each_entry(spcm, &sdev->pcm_list, list) {
899 if (spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].suspend_ignored ||
900 spcm->stream[SNDRV_PCM_STREAM_CAPTURE].suspend_ignored)
915 struct snd_sof_pcm *spcm;
917 list_for_each_entry(spcm, &sdev->pcm_list, list) {
919 if (strcmp(spcm->pcm.dai_name, name) == 0)
920 return spcm;
923 if (*spcm->pcm.caps[0].name &&
924 !strcmp(spcm->pcm.caps[0].name, name))
925 return spcm;
928 if (*spcm->pcm.caps[1].name &&
929 !strcmp(spcm->pcm.caps[1].name, name))
930 return spcm;
941 struct snd_sof_pcm *spcm;
944 list_for_each_entry(spcm, &sdev->pcm_list, list) {
946 if (spcm->stream[dir].comp_id == comp_id) {
948 return spcm;