Lines Matching refs:rtd
47 void snd_soc_runtime_activate(struct snd_soc_pcm_runtime *rtd, int stream) in snd_soc_runtime_activate() argument
49 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in snd_soc_runtime_activate()
52 lockdep_assert_held(&rtd->pcm_mutex); in snd_soc_runtime_activate()
56 for (i = 0; i < rtd->num_codecs; i++) in snd_soc_runtime_activate()
57 rtd->codec_dais[i]->playback_active++; in snd_soc_runtime_activate()
60 for (i = 0; i < rtd->num_codecs; i++) in snd_soc_runtime_activate()
61 rtd->codec_dais[i]->capture_active++; in snd_soc_runtime_activate()
66 for (i = 0; i < rtd->num_codecs; i++) { in snd_soc_runtime_activate()
67 rtd->codec_dais[i]->active++; in snd_soc_runtime_activate()
68 rtd->codec_dais[i]->component->active++; in snd_soc_runtime_activate()
82 void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream) in snd_soc_runtime_deactivate() argument
84 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in snd_soc_runtime_deactivate()
87 lockdep_assert_held(&rtd->pcm_mutex); in snd_soc_runtime_deactivate()
91 for (i = 0; i < rtd->num_codecs; i++) in snd_soc_runtime_deactivate()
92 rtd->codec_dais[i]->playback_active--; in snd_soc_runtime_deactivate()
95 for (i = 0; i < rtd->num_codecs; i++) in snd_soc_runtime_deactivate()
96 rtd->codec_dais[i]->capture_active--; in snd_soc_runtime_deactivate()
101 for (i = 0; i < rtd->num_codecs; i++) { in snd_soc_runtime_deactivate()
102 rtd->codec_dais[i]->component->active--; in snd_soc_runtime_deactivate()
103 rtd->codec_dais[i]->active--; in snd_soc_runtime_deactivate()
116 bool snd_soc_runtime_ignore_pmdown_time(struct snd_soc_pcm_runtime *rtd) in snd_soc_runtime_ignore_pmdown_time() argument
121 if (!rtd->pmdown_time || rtd->dai_link->ignore_pmdown_time) in snd_soc_runtime_ignore_pmdown_time()
124 for (i = 0; i < rtd->num_codecs; i++) in snd_soc_runtime_ignore_pmdown_time()
125 ignore &= rtd->codec_dais[i]->component->ignore_pmdown_time; in snd_soc_runtime_ignore_pmdown_time()
127 return rtd->cpu_dai->component->ignore_pmdown_time && ignore; in snd_soc_runtime_ignore_pmdown_time()
177 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_apply_symmetry() local
181 rtd->dai_link->symmetric_rates)) { in soc_pcm_apply_symmetry()
197 rtd->dai_link->symmetric_channels)) { in soc_pcm_apply_symmetry()
214 rtd->dai_link->symmetric_samplebits)) { in soc_pcm_apply_symmetry()
236 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_params_symmetry() local
237 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_params_symmetry()
246 rtd->dai_link->symmetric_rates; in soc_pcm_params_symmetry()
248 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_params_symmetry()
249 symmetry |= rtd->codec_dais[i]->driver->symmetric_rates; in soc_pcm_params_symmetry()
252 dev_err(rtd->dev, "ASoC: unmatched rate symmetry: %d - %d\n", in soc_pcm_params_symmetry()
258 rtd->dai_link->symmetric_channels; in soc_pcm_params_symmetry()
260 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_params_symmetry()
261 symmetry |= rtd->codec_dais[i]->driver->symmetric_channels; in soc_pcm_params_symmetry()
264 dev_err(rtd->dev, "ASoC: unmatched channel symmetry: %d - %d\n", in soc_pcm_params_symmetry()
270 rtd->dai_link->symmetric_samplebits; in soc_pcm_params_symmetry()
272 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_params_symmetry()
273 symmetry |= rtd->codec_dais[i]->driver->symmetric_samplebits; in soc_pcm_params_symmetry()
276 dev_err(rtd->dev, "ASoC: unmatched sample bits symmetry: %d - %d\n", in soc_pcm_params_symmetry()
286 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_has_symmetry() local
287 struct snd_soc_dai_driver *cpu_driver = rtd->cpu_dai->driver; in soc_pcm_has_symmetry()
288 struct snd_soc_dai_link *link = rtd->dai_link; in soc_pcm_has_symmetry()
295 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_has_symmetry()
297 rtd->codec_dais[i]->driver->symmetric_rates || in soc_pcm_has_symmetry()
298 rtd->codec_dais[i]->driver->symmetric_channels || in soc_pcm_has_symmetry()
299 rtd->codec_dais[i]->driver->symmetric_samplebits; in soc_pcm_has_symmetry()
306 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_set_msb() local
314 dev_warn(rtd->dev, "ASoC: Failed to set MSB %d: %d\n", in soc_pcm_set_msb()
320 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_apply_msb() local
321 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_apply_msb()
327 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_apply_msb()
328 codec_dai = rtd->codec_dais[i]; in soc_pcm_apply_msb()
337 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_apply_msb()
338 codec_dai = rtd->codec_dais[i]; in soc_pcm_apply_msb()
356 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_init_runtime_hw() local
357 struct snd_soc_dai_driver *cpu_dai_drv = rtd->cpu_dai->driver; in soc_pcm_init_runtime_hw()
373 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_init_runtime_hw()
374 codec_dai_drv = rtd->codec_dais[i]->driver; in soc_pcm_init_runtime_hw()
392 if (rtd->num_codecs > 1) { in soc_pcm_init_runtime_hw()
420 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_open() local
422 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_open()
423 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_open()
429 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_open()
430 pinctrl_pm_select_default_state(rtd->codec_dais[i]->dev); in soc_pcm_open()
432 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_open()
433 pm_runtime_get_sync(rtd->codec_dais[i]->dev); in soc_pcm_open()
436 mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); in soc_pcm_open()
457 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_open()
458 codec_dai = rtd->codec_dais[i]; in soc_pcm_open()
476 if (rtd->dai_link->ops && rtd->dai_link->ops->startup) { in soc_pcm_open()
477 ret = rtd->dai_link->ops->startup(substream); in soc_pcm_open()
480 rtd->dai_link->name, ret); in soc_pcm_open()
486 if (rtd->dai_link->dynamic || rtd->dai_link->no_pcm) in soc_pcm_open()
492 if (rtd->num_codecs == 1) in soc_pcm_open()
493 codec_dai_name = rtd->codec_dai->name; in soc_pcm_open()
525 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_open()
526 if (rtd->codec_dais[i]->active) { in soc_pcm_open()
528 rtd->codec_dais[i]); in soc_pcm_open()
544 snd_soc_runtime_activate(rtd, substream->stream); in soc_pcm_open()
546 mutex_unlock(&rtd->pcm_mutex); in soc_pcm_open()
550 if (rtd->dai_link->ops && rtd->dai_link->ops->shutdown) in soc_pcm_open()
551 rtd->dai_link->ops->shutdown(substream); in soc_pcm_open()
554 i = rtd->num_codecs; in soc_pcm_open()
558 codec_dai = rtd->codec_dais[i]; in soc_pcm_open()
570 mutex_unlock(&rtd->pcm_mutex); in soc_pcm_open()
573 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_open()
574 pm_runtime_put(rtd->codec_dais[i]->dev); in soc_pcm_open()
576 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_open()
577 if (!rtd->codec_dais[i]->active) in soc_pcm_open()
578 pinctrl_pm_select_sleep_state(rtd->codec_dais[i]->dev); in soc_pcm_open()
593 struct snd_soc_pcm_runtime *rtd = in close_delayed_work() local
595 struct snd_soc_dai *codec_dai = rtd->codec_dais[0]; in close_delayed_work()
597 mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); in close_delayed_work()
599 dev_dbg(rtd->dev, "ASoC: pop wq checking: %s status: %s waiting: %s\n", in close_delayed_work()
602 rtd->pop_wait ? "yes" : "no"); in close_delayed_work()
605 if (rtd->pop_wait == 1) { in close_delayed_work()
606 rtd->pop_wait = 0; in close_delayed_work()
607 snd_soc_dapm_stream_event(rtd, SNDRV_PCM_STREAM_PLAYBACK, in close_delayed_work()
611 mutex_unlock(&rtd->pcm_mutex); in close_delayed_work()
621 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_close() local
622 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_close()
623 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_close()
627 mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); in soc_pcm_close()
629 snd_soc_runtime_deactivate(rtd, substream->stream); in soc_pcm_close()
635 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_close()
636 codec_dai = rtd->codec_dais[i]; in soc_pcm_close()
646 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_close()
647 codec_dai = rtd->codec_dais[i]; in soc_pcm_close()
652 if (rtd->dai_link->ops && rtd->dai_link->ops->shutdown) in soc_pcm_close()
653 rtd->dai_link->ops->shutdown(substream); in soc_pcm_close()
659 if (snd_soc_runtime_ignore_pmdown_time(rtd)) { in soc_pcm_close()
661 snd_soc_dapm_stream_event(rtd, in soc_pcm_close()
666 rtd->pop_wait = 1; in soc_pcm_close()
668 &rtd->delayed_work, in soc_pcm_close()
669 msecs_to_jiffies(rtd->pmdown_time)); in soc_pcm_close()
673 snd_soc_dapm_stream_event(rtd, SNDRV_PCM_STREAM_CAPTURE, in soc_pcm_close()
677 mutex_unlock(&rtd->pcm_mutex); in soc_pcm_close()
680 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_close()
681 pm_runtime_put(rtd->codec_dais[i]->dev); in soc_pcm_close()
683 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_close()
684 if (!rtd->codec_dais[i]->active) in soc_pcm_close()
685 pinctrl_pm_select_sleep_state(rtd->codec_dais[i]->dev); in soc_pcm_close()
700 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_prepare() local
701 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_prepare()
702 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_prepare()
706 mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); in soc_pcm_prepare()
708 if (rtd->dai_link->ops && rtd->dai_link->ops->prepare) { in soc_pcm_prepare()
709 ret = rtd->dai_link->ops->prepare(substream); in soc_pcm_prepare()
711 dev_err(rtd->card->dev, "ASoC: machine prepare error:" in soc_pcm_prepare()
726 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_prepare()
727 codec_dai = rtd->codec_dais[i]; in soc_pcm_prepare()
751 rtd->pop_wait) { in soc_pcm_prepare()
752 rtd->pop_wait = 0; in soc_pcm_prepare()
753 cancel_delayed_work(&rtd->delayed_work); in soc_pcm_prepare()
756 snd_soc_dapm_stream_event(rtd, substream->stream, in soc_pcm_prepare()
759 for (i = 0; i < rtd->num_codecs; i++) in soc_pcm_prepare()
760 snd_soc_dai_digital_mute(rtd->codec_dais[i], 0, in soc_pcm_prepare()
765 mutex_unlock(&rtd->pcm_mutex); in soc_pcm_prepare()
806 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_hw_params() local
807 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_hw_params()
808 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_hw_params()
811 mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); in soc_pcm_hw_params()
817 if (rtd->dai_link->ops && rtd->dai_link->ops->hw_params) { in soc_pcm_hw_params()
818 ret = rtd->dai_link->ops->hw_params(substream, params); in soc_pcm_hw_params()
820 dev_err(rtd->card->dev, "ASoC: machine hw_params" in soc_pcm_hw_params()
826 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_hw_params()
827 struct snd_soc_dai *codec_dai = rtd->codec_dais[i]; in soc_pcm_hw_params()
871 mutex_unlock(&rtd->pcm_mutex); in soc_pcm_hw_params()
879 i = rtd->num_codecs; in soc_pcm_hw_params()
883 struct snd_soc_dai *codec_dai = rtd->codec_dais[i]; in soc_pcm_hw_params()
889 if (rtd->dai_link->ops && rtd->dai_link->ops->hw_free) in soc_pcm_hw_params()
890 rtd->dai_link->ops->hw_free(substream); in soc_pcm_hw_params()
892 mutex_unlock(&rtd->pcm_mutex); in soc_pcm_hw_params()
901 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_hw_free() local
902 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_hw_free()
903 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_hw_free()
908 mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); in soc_pcm_hw_free()
917 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_hw_free()
918 codec_dai = rtd->codec_dais[i]; in soc_pcm_hw_free()
927 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_hw_free()
928 if ((playback && rtd->codec_dais[i]->playback_active == 1) || in soc_pcm_hw_free()
929 (!playback && rtd->codec_dais[i]->capture_active == 1)) in soc_pcm_hw_free()
930 snd_soc_dai_digital_mute(rtd->codec_dais[i], 1, in soc_pcm_hw_free()
935 if (rtd->dai_link->ops && rtd->dai_link->ops->hw_free) in soc_pcm_hw_free()
936 rtd->dai_link->ops->hw_free(substream); in soc_pcm_hw_free()
943 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_hw_free()
944 codec_dai = rtd->codec_dais[i]; in soc_pcm_hw_free()
952 mutex_unlock(&rtd->pcm_mutex); in soc_pcm_hw_free()
958 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_trigger() local
959 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_trigger()
960 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_trigger()
964 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_trigger()
965 codec_dai = rtd->codec_dais[i]; in soc_pcm_trigger()
986 if (rtd->dai_link->ops && rtd->dai_link->ops->trigger) { in soc_pcm_trigger()
987 ret = rtd->dai_link->ops->trigger(substream, cmd); in soc_pcm_trigger()
998 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_bespoke_trigger() local
999 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_bespoke_trigger()
1000 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_bespoke_trigger()
1004 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_bespoke_trigger()
1005 codec_dai = rtd->codec_dais[i]; in soc_pcm_bespoke_trigger()
1035 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_pointer() local
1036 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_pointer()
1037 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_pcm_pointer()
1051 for (i = 0; i < rtd->num_codecs; i++) { in soc_pcm_pointer()
1052 codec_dai = rtd->codec_dais[i]; in soc_pcm_pointer()
1065 delay += platform->driver->delay(substream, rtd->codec_dais[0]); in soc_pcm_pointer()
1173 be = &card->rtd[i]; in dpcm_get_be()
1190 be = &card->rtd[i]; in dpcm_get_be()
1504 struct snd_soc_pcm_runtime *rtd = substream->private_data; in dpcm_set_fe_runtime() local
1505 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in dpcm_set_fe_runtime()
2100 struct snd_soc_pcm_runtime *rtd = substream->private_data; in soc_pcm_ioctl() local
2101 struct snd_soc_platform *platform = rtd->platform; in soc_pcm_ioctl()
2270 struct snd_soc_pcm_runtime *fe = &card->rtd[i]; in soc_dpcm_runtime_update()
2450 int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) in soc_new_pcm() argument
2452 struct snd_soc_platform *platform = rtd->platform; in soc_new_pcm()
2454 struct snd_soc_dai *cpu_dai = rtd->cpu_dai; in soc_new_pcm()
2460 if (rtd->dai_link->dynamic || rtd->dai_link->no_pcm) { in soc_new_pcm()
2461 playback = rtd->dai_link->dpcm_playback; in soc_new_pcm()
2462 capture = rtd->dai_link->dpcm_capture; in soc_new_pcm()
2464 for (i = 0; i < rtd->num_codecs; i++) { in soc_new_pcm()
2465 codec_dai = rtd->codec_dais[i]; in soc_new_pcm()
2476 if (rtd->dai_link->playback_only) { in soc_new_pcm()
2481 if (rtd->dai_link->capture_only) { in soc_new_pcm()
2487 if (rtd->dai_link->no_pcm) { in soc_new_pcm()
2489 rtd->dai_link->stream_name); in soc_new_pcm()
2491 ret = snd_pcm_new_internal(rtd->card->snd_card, new_name, num, in soc_new_pcm()
2494 if (rtd->dai_link->dynamic) in soc_new_pcm()
2496 rtd->dai_link->stream_name); in soc_new_pcm()
2499 rtd->dai_link->stream_name, in soc_new_pcm()
2500 (rtd->num_codecs > 1) ? in soc_new_pcm()
2501 "multicodec" : rtd->codec_dai->name, num); in soc_new_pcm()
2503 ret = snd_pcm_new(rtd->card->snd_card, new_name, num, playback, in soc_new_pcm()
2507 dev_err(rtd->card->dev, "ASoC: can't create pcm for %s\n", in soc_new_pcm()
2508 rtd->dai_link->name); in soc_new_pcm()
2511 dev_dbg(rtd->card->dev, "ASoC: registered pcm #%d %s\n",num, new_name); in soc_new_pcm()
2514 INIT_DELAYED_WORK(&rtd->delayed_work, close_delayed_work); in soc_new_pcm()
2516 pcm->nonatomic = rtd->dai_link->nonatomic; in soc_new_pcm()
2517 rtd->pcm = pcm; in soc_new_pcm()
2518 pcm->private_data = rtd; in soc_new_pcm()
2520 if (rtd->dai_link->no_pcm) { in soc_new_pcm()
2522 pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream->private_data = rtd; in soc_new_pcm()
2524 pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream->private_data = rtd; in soc_new_pcm()
2529 if (rtd->dai_link->dynamic) { in soc_new_pcm()
2530 rtd->ops.open = dpcm_fe_dai_open; in soc_new_pcm()
2531 rtd->ops.hw_params = dpcm_fe_dai_hw_params; in soc_new_pcm()
2532 rtd->ops.prepare = dpcm_fe_dai_prepare; in soc_new_pcm()
2533 rtd->ops.trigger = dpcm_fe_dai_trigger; in soc_new_pcm()
2534 rtd->ops.hw_free = dpcm_fe_dai_hw_free; in soc_new_pcm()
2535 rtd->ops.close = dpcm_fe_dai_close; in soc_new_pcm()
2536 rtd->ops.pointer = soc_pcm_pointer; in soc_new_pcm()
2537 rtd->ops.ioctl = soc_pcm_ioctl; in soc_new_pcm()
2539 rtd->ops.open = soc_pcm_open; in soc_new_pcm()
2540 rtd->ops.hw_params = soc_pcm_hw_params; in soc_new_pcm()
2541 rtd->ops.prepare = soc_pcm_prepare; in soc_new_pcm()
2542 rtd->ops.trigger = soc_pcm_trigger; in soc_new_pcm()
2543 rtd->ops.hw_free = soc_pcm_hw_free; in soc_new_pcm()
2544 rtd->ops.close = soc_pcm_close; in soc_new_pcm()
2545 rtd->ops.pointer = soc_pcm_pointer; in soc_new_pcm()
2546 rtd->ops.ioctl = soc_pcm_ioctl; in soc_new_pcm()
2550 rtd->ops.ack = platform->driver->ops->ack; in soc_new_pcm()
2551 rtd->ops.copy = platform->driver->ops->copy; in soc_new_pcm()
2552 rtd->ops.silence = platform->driver->ops->silence; in soc_new_pcm()
2553 rtd->ops.page = platform->driver->ops->page; in soc_new_pcm()
2554 rtd->ops.mmap = platform->driver->ops->mmap; in soc_new_pcm()
2558 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &rtd->ops); in soc_new_pcm()
2561 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &rtd->ops); in soc_new_pcm()
2564 ret = platform->driver->pcm_new(rtd); in soc_new_pcm()
2575 dev_info(rtd->card->dev, "%s <-> %s mapping ok\n", in soc_new_pcm()
2576 (rtd->num_codecs > 1) ? "multicodec" : rtd->codec_dai->name, in soc_new_pcm()
2808 void soc_dpcm_debugfs_add(struct snd_soc_pcm_runtime *rtd) in soc_dpcm_debugfs_add() argument
2810 if (!rtd->dai_link) in soc_dpcm_debugfs_add()
2813 if (!rtd->card->debugfs_card_root) in soc_dpcm_debugfs_add()
2816 rtd->debugfs_dpcm_root = debugfs_create_dir(rtd->dai_link->name, in soc_dpcm_debugfs_add()
2817 rtd->card->debugfs_card_root); in soc_dpcm_debugfs_add()
2818 if (!rtd->debugfs_dpcm_root) { in soc_dpcm_debugfs_add()
2819 dev_dbg(rtd->dev, in soc_dpcm_debugfs_add()
2821 rtd->dai_link->name); in soc_dpcm_debugfs_add()
2825 rtd->debugfs_dpcm_state = debugfs_create_file("state", 0444, in soc_dpcm_debugfs_add()
2826 rtd->debugfs_dpcm_root, in soc_dpcm_debugfs_add()
2827 rtd, &dpcm_state_fops); in soc_dpcm_debugfs_add()