Lines Matching full:link

11  * Intel HDMI DAI Link
41 * DMIC DAI Link
74 * HDA External Codec DAI Link
132 * DAI Link Helpers
178 static int set_ssp_codec_link(struct device *dev, struct snd_soc_dai_link *link, in set_ssp_codec_link() argument
184 dev_dbg(dev, "link %d: ssp codec %s, ssp %d\n", be_id, in set_ssp_codec_link()
187 /* link name */ in set_ssp_codec_link()
188 link->name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-Codec", ssp_codec); in set_ssp_codec_link()
189 if (!link->name) in set_ssp_codec_link()
209 link->cpus = cpus; in set_ssp_codec_link()
210 link->num_cpus = 1; in set_ssp_codec_link()
215 link->platforms = platform_component; in set_ssp_codec_link()
216 link->num_platforms = ARRAY_SIZE(platform_component); in set_ssp_codec_link()
218 link->id = be_id; in set_ssp_codec_link()
219 link->no_pcm = 1; in set_ssp_codec_link()
220 link->dpcm_capture = 1; in set_ssp_codec_link()
221 link->dpcm_playback = 1; in set_ssp_codec_link()
226 static int set_dmic_link(struct device *dev, struct snd_soc_dai_link *link, in set_dmic_link() argument
239 dev_dbg(dev, "link %d: dmic01\n", be_id); in set_dmic_link()
241 link->name = "dmic01"; in set_dmic_link()
245 dev_dbg(dev, "link %d: dmic16k\n", be_id); in set_dmic_link()
247 link->name = "dmic16k"; in set_dmic_link()
255 link->cpus = cpus; in set_dmic_link()
256 link->num_cpus = 1; in set_dmic_link()
259 link->codecs = dmic_component; in set_dmic_link()
260 link->num_codecs = ARRAY_SIZE(dmic_component); in set_dmic_link()
263 link->platforms = platform_component; in set_dmic_link()
264 link->num_platforms = ARRAY_SIZE(platform_component); in set_dmic_link()
266 link->id = be_id; in set_dmic_link()
268 link->init = dmic_init; in set_dmic_link()
269 link->ignore_suspend = 1; in set_dmic_link()
270 link->no_pcm = 1; in set_dmic_link()
271 link->dpcm_capture = 1; in set_dmic_link()
276 static int set_idisp_hdmi_link(struct device *dev, struct snd_soc_dai_link *link, in set_idisp_hdmi_link() argument
281 dev_dbg(dev, "link %d: idisp hdmi %d, idisp codec %d\n", be_id, hdmi_id, in set_idisp_hdmi_link()
284 /* link name */ in set_idisp_hdmi_link()
285 link->name = devm_kasprintf(dev, GFP_KERNEL, "iDisp%d", hdmi_id); in set_idisp_hdmi_link()
286 if (!link->name) in set_idisp_hdmi_link()
299 link->cpus = cpus; in set_idisp_hdmi_link()
300 link->num_cpus = 1; in set_idisp_hdmi_link()
316 link->codecs = codecs; in set_idisp_hdmi_link()
318 link->codecs = &snd_soc_dummy_dlc; in set_idisp_hdmi_link()
320 link->num_codecs = 1; in set_idisp_hdmi_link()
323 link->platforms = platform_component; in set_idisp_hdmi_link()
324 link->num_platforms = ARRAY_SIZE(platform_component); in set_idisp_hdmi_link()
326 link->id = be_id; in set_idisp_hdmi_link()
327 link->init = (hdmi_id == 1) ? hdmi_init : NULL; in set_idisp_hdmi_link()
328 link->no_pcm = 1; in set_idisp_hdmi_link()
329 link->dpcm_playback = 1; in set_idisp_hdmi_link()
334 static int set_ssp_amp_link(struct device *dev, struct snd_soc_dai_link *link, in set_ssp_amp_link() argument
340 dev_dbg(dev, "link %d: ssp amp %s, ssp %d\n", be_id, in set_ssp_amp_link()
343 /* link name */ in set_ssp_amp_link()
344 link->name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-Codec", ssp_amp); in set_ssp_amp_link()
345 if (!link->name) in set_ssp_amp_link()
358 link->cpus = cpus; in set_ssp_amp_link()
359 link->num_cpus = 1; in set_ssp_amp_link()
364 link->platforms = platform_component; in set_ssp_amp_link()
365 link->num_platforms = ARRAY_SIZE(platform_component); in set_ssp_amp_link()
367 link->id = be_id; in set_ssp_amp_link()
368 link->no_pcm = 1; in set_ssp_amp_link()
369 link->dpcm_capture = 1; /* feedback stream or firmware-generated echo reference */ in set_ssp_amp_link()
370 link->dpcm_playback = 1; in set_ssp_amp_link()
375 static int set_bt_offload_link(struct device *dev, struct snd_soc_dai_link *link, in set_bt_offload_link() argument
380 dev_dbg(dev, "link %d: bt offload, ssp %d\n", be_id, ssp_bt); in set_bt_offload_link()
382 /* link name */ in set_bt_offload_link()
383 link->name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-BT", ssp_bt); in set_bt_offload_link()
384 if (!link->name) in set_bt_offload_link()
397 link->cpus = cpus; in set_bt_offload_link()
398 link->num_cpus = 1; in set_bt_offload_link()
401 link->codecs = &snd_soc_dummy_dlc; in set_bt_offload_link()
402 link->num_codecs = 1; in set_bt_offload_link()
405 link->platforms = platform_component; in set_bt_offload_link()
406 link->num_platforms = ARRAY_SIZE(platform_component); in set_bt_offload_link()
408 link->id = be_id; in set_bt_offload_link()
409 link->no_pcm = 1; in set_bt_offload_link()
410 link->dpcm_capture = 1; in set_bt_offload_link()
411 link->dpcm_playback = 1; in set_bt_offload_link()
416 static int set_hdmi_in_link(struct device *dev, struct snd_soc_dai_link *link, in set_hdmi_in_link() argument
421 dev_dbg(dev, "link %d: hdmi-in, ssp %d\n", be_id, ssp_hdmi); in set_hdmi_in_link()
423 /* link name */ in set_hdmi_in_link()
424 link->name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-HDMI", ssp_hdmi); in set_hdmi_in_link()
425 if (!link->name) in set_hdmi_in_link()
438 link->cpus = cpus; in set_hdmi_in_link()
439 link->num_cpus = 1; in set_hdmi_in_link()
442 link->codecs = &snd_soc_dummy_dlc; in set_hdmi_in_link()
443 link->num_codecs = 1; in set_hdmi_in_link()
446 link->platforms = platform_component; in set_hdmi_in_link()
447 link->num_platforms = ARRAY_SIZE(platform_component); in set_hdmi_in_link()
449 link->id = be_id; in set_hdmi_in_link()
450 link->no_pcm = 1; in set_hdmi_in_link()
451 link->dpcm_capture = 1; in set_hdmi_in_link()
456 static int set_hda_codec_link(struct device *dev, struct snd_soc_dai_link *link, in set_hda_codec_link() argument
461 dev_dbg(dev, "link %d: hda analog\n", be_id); in set_hda_codec_link()
463 link->name = "Analog Playback and Capture"; in set_hda_codec_link()
466 link->cpus = hda_analog_cpus; in set_hda_codec_link()
467 link->num_cpus = ARRAY_SIZE(hda_analog_cpus); in set_hda_codec_link()
470 link->codecs = hda_analog_codecs; in set_hda_codec_link()
471 link->num_codecs = ARRAY_SIZE(hda_analog_codecs); in set_hda_codec_link()
474 dev_dbg(dev, "link %d: hda digital\n", be_id); in set_hda_codec_link()
476 link->name = "Digital Playback and Capture"; in set_hda_codec_link()
479 link->cpus = hda_digital_cpus; in set_hda_codec_link()
480 link->num_cpus = ARRAY_SIZE(hda_digital_cpus); in set_hda_codec_link()
483 link->codecs = hda_digital_codecs; in set_hda_codec_link()
484 link->num_codecs = ARRAY_SIZE(hda_digital_codecs); in set_hda_codec_link()
492 link->platforms = platform_component; in set_hda_codec_link()
493 link->num_platforms = ARRAY_SIZE(platform_component); in set_hda_codec_link()
495 link->id = be_id; in set_hda_codec_link()
497 link->init = hda_init; in set_hda_codec_link()
498 link->no_pcm = 1; in set_hda_codec_link()
499 link->dpcm_capture = 1; in set_hda_codec_link()
500 link->dpcm_playback = 1; in set_hda_codec_link()
550 unsigned long link_order, link; in sof_intel_board_set_dai_link() local
574 link = link_order & SOF_LINK_ORDER_MASK; in sof_intel_board_set_dai_link()
581 /* use array index as link id */ in sof_intel_board_set_dai_link()
585 switch (link) { in sof_intel_board_set_dai_link()
594 dev_err(dev, "fail to set codec link, ret %d\n", in sof_intel_board_set_dai_link()
610 dev_err(dev, "fail to set dmic01 link, ret %d\n", in sof_intel_board_set_dai_link()
626 dev_err(dev, "fail to set dmic16k link, ret %d\n", in sof_intel_board_set_dai_link()
640 dev_err(dev, "fail to set hdmi link, ret %d\n", in sof_intel_board_set_dai_link()
657 dev_err(dev, "fail to set amp link, ret %d\n", in sof_intel_board_set_dai_link()
673 dev_err(dev, "fail to set bt link, ret %d\n", in sof_intel_board_set_dai_link()
686 dev_err(dev, "fail to set hdmi-in link, ret %d\n", in sof_intel_board_set_dai_link()
703 dev_err(dev, "fail to set hda analog link, ret %d\n", in sof_intel_board_set_dai_link()
714 dev_err(dev, "fail to set hda digital link, ret %d\n", in sof_intel_board_set_dai_link()
725 dev_err(dev, "invalid link type %ld\n", link); in sof_intel_board_set_dai_link()
731 dev_err(dev, "link number mismatch, idx %d, num_links %d\n", idx, in sof_intel_board_set_dai_link()