Lines Matching refs:spcm
508 int dir, struct snd_sof_pcm *spcm)
510 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
532 err = sof_free_widgets_in_path(sdev, p->sink, dir, spcm);
548 int dir, struct snd_sof_pcm *spcm)
550 struct snd_sof_pcm_stream_pipeline_list *pipeline_list = &spcm->stream[dir].pipeline_list;
551 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
596 ret = sof_set_up_widgets_in_path(sdev, p->sink, dir, spcm);
610 sof_walk_widgets_in_order(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm,
615 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
638 ret = sof_set_up_widgets_in_path(sdev, widget, dir, spcm);
642 ret = sof_free_widgets_in_path(sdev, widget, dir, spcm);
678 int sof_widget_list_setup(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm,
684 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
696 ret = sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params,
702 ret = sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params,
705 sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params,
758 sof_walk_widgets_in_order(sdev, spcm, fe_params, platform_params, dir,
760 sof_walk_widgets_in_order(sdev, spcm, NULL, NULL, dir, SOF_WIDGET_UNPREPARE);
765 int sof_widget_list_free(struct snd_sof_dev *sdev, struct snd_sof_pcm *spcm, int dir)
767 struct snd_sof_pcm_stream_pipeline_list *pipeline_list = &spcm->stream[dir].pipeline_list;
768 struct snd_soc_dapm_widget_list *list = spcm->stream[dir].list;
776 ret = sof_walk_widgets_in_order(sdev, spcm, NULL, NULL, dir, SOF_WIDGET_FREE);
779 sof_walk_widgets_in_order(sdev, spcm, NULL, NULL, dir, SOF_WIDGET_UNPREPARE);
782 spcm->stream[dir].list = NULL;
796 struct snd_sof_pcm *spcm;
800 list_for_each_entry(spcm, &sdev->pcm_list, list) {
802 substream = spcm->stream[dir].substream;
811 if (!spcm->stream[dir].d0i3_compatible)
824 struct snd_sof_pcm *spcm;
826 list_for_each_entry(spcm, &sdev->pcm_list, list) {
827 if (spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].suspend_ignored ||
828 spcm->stream[SNDRV_PCM_STREAM_CAPTURE].suspend_ignored)
836 struct snd_sof_pcm *spcm, int dir, bool free_widget_list)
841 if (spcm->prepared[substream->stream]) {
853 spcm->prepared[substream->stream] = false;
863 ret = sof_widget_list_free(sdev, spcm, dir);
879 struct snd_sof_pcm *spcm;
881 list_for_each_entry(spcm, &sdev->pcm_list, list) {
883 if (strcmp(spcm->pcm.dai_name, name) == 0)
884 return spcm;
887 if (*spcm->pcm.caps[0].name &&
888 !strcmp(spcm->pcm.caps[0].name, name))
889 return spcm;
892 if (*spcm->pcm.caps[1].name &&
893 !strcmp(spcm->pcm.caps[1].name, name))
894 return spcm;
905 struct snd_sof_pcm *spcm;
908 list_for_each_entry(spcm, &sdev->pcm_list, list) {
910 if (spcm->stream[dir].comp_id == comp_id) {
912 return spcm;