Lines Matching +full:capture +full:- +full:only

1 // SPDX-License-Identifier: GPL-2.0-only
2 // Copyright(c) 2015-18 Intel Corporation.
15 #include <sound/soc-acpi.h>
56 { "codec0_in", NULL, "Analog CPU Capture" },
57 { "Analog CPU Capture", NULL, "Analog Codec Capture" },
58 { "codec1_in", NULL, "Digital CPU Capture" },
59 { "Digital CPU Capture", NULL, "Digital Codec Capture" },
60 { "codec2_in", NULL, "Alt Analog CPU Capture" },
61 { "Alt Analog CPU Capture", NULL, "Alt Analog Codec Capture" },
75 dev_dbg(card->dev, "dai link name - %s\n", link->name); in skl_hda_add_dai_link()
76 link->platforms->name = ctx->platform_name; in skl_hda_add_dai_link()
77 link->nonatomic = 1; in skl_hda_add_dai_link()
79 if (!ctx->idisp_codec) in skl_hda_add_dai_link()
82 if (strstr(link->name, "HDMI")) { in skl_hda_add_dai_link()
83 ret = skl_hda_hdmi_add_pcm(card, ctx->pcm_count); in skl_hda_add_dai_link()
88 ctx->dai_index++; in skl_hda_add_dai_link()
91 ctx->pcm_count++; in skl_hda_add_dai_link()
96 .name = "hda-dsp",
126 codec_mask = mach_params->codec_mask; in skl_hda_fill_card_info()
128 ctx->idisp_codec = !!(codec_mask & IDISP_CODEC_MASK); in skl_hda_fill_card_info()
131 (codec_count == 2 && !ctx->idisp_codec)) in skl_hda_fill_card_info()
132 return -EINVAL; in skl_hda_fill_card_info()
135 /* topology with iDisp as the only HDA codec */ in skl_hda_fill_card_info()
141 * dmic dai links follow idsp dai links for only in skl_hda_fill_card_info()
154 card->dapm_widgets = skl_hda_widgets; in skl_hda_fill_card_info()
155 card->num_dapm_widgets = ARRAY_SIZE(skl_hda_widgets); in skl_hda_fill_card_info()
156 if (!ctx->idisp_codec) { in skl_hda_fill_card_info()
157 card->dapm_routes = &skl_hda_map[IDISP_ROUTE_COUNT]; in skl_hda_fill_card_info()
158 num_route -= IDISP_ROUTE_COUNT; in skl_hda_fill_card_info()
166 card->num_links = num_links; in skl_hda_fill_card_info()
167 card->num_dapm_routes = num_route; in skl_hda_fill_card_info()
170 dai_link->platforms->name = mach_params->platform; in skl_hda_fill_card_info()
182 if (!strstr(rtd->dai_link->codecs->name, "ehdaudio0D0")) in skl_set_hda_codec_autosuspend_delay()
185 hda_pvt = snd_soc_component_get_drvdata(dai->component); in skl_set_hda_codec_autosuspend_delay()
189 * to look up only the first one in skl_set_hda_codec_autosuspend_delay()
191 snd_hda_set_power_save(hda_pvt->codec->bus, in skl_set_hda_codec_autosuspend_delay()
204 dev_dbg(&pdev->dev, "entry\n"); in skl_hda_audio_probe()
206 ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL); in skl_hda_audio_probe()
208 return -ENOMEM; in skl_hda_audio_probe()
210 INIT_LIST_HEAD(&ctx->hdmi_pcm_list); in skl_hda_audio_probe()
212 mach = pdev->dev.platform_data; in skl_hda_audio_probe()
214 return -EINVAL; in skl_hda_audio_probe()
218 ret = skl_hda_fill_card_info(&mach->mach_params); in skl_hda_audio_probe()
220 dev_err(&pdev->dev, "Unsupported HDAudio/iDisp configuration found\n"); in skl_hda_audio_probe()
224 ctx->pcm_count = hda_soc_card.num_links; in skl_hda_audio_probe()
225 ctx->dai_index = 1; /* hdmi codec dai name starts from index 1 */ in skl_hda_audio_probe()
226 ctx->platform_name = mach->mach_params.platform; in skl_hda_audio_probe()
227 ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; in skl_hda_audio_probe()
229 hda_soc_card.dev = &pdev->dev; in skl_hda_audio_probe()
231 if (mach->mach_params.dmic_num > 0) { in skl_hda_audio_probe()
233 "cfg-dmics:%d", mach->mach_params.dmic_num); in skl_hda_audio_probe()
237 ret = devm_snd_soc_register_card(&pdev->dev, &hda_soc_card); in skl_hda_audio_probe()