From 65e97cc8e4616fdbd9b34acbee228bc13edca729 Mon Sep 17 00:00:00 2001 From: Bard Liao Date: Tue, 24 Mar 2026 17:23:40 +0800 Subject: [PATCH 1/3] ASoC: skl_hda_dsp_generic: add HDMI IN DAI link support Add HDMI_IN to SOF_LINK_ORDER so that the HDMI IN dai links will be createrd if SSP_MASK_HDMI_CAPTURE is set to board_quirk. Signed-off-by: Bard Liao --- sound/soc/intel/boards/skl_hda_dsp_generic.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c index 519218385fdf74..ad0240522843bf 100644 --- a/sound/soc/intel/boards/skl_hda_dsp_generic.c +++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c @@ -53,13 +53,14 @@ static void skl_set_hda_codec_autosuspend_delay(struct snd_soc_card *card) #define DMIC01_BE_ID 6 #define DMIC16K_BE_ID 7 #define BT_OFFLOAD_BE_ID 8 +#define HDMI_IN_BE_ID 9 #define HDA_LINK_ORDER SOF_LINK_ORDER(SOF_LINK_IDISP_HDMI, \ SOF_LINK_HDA, \ SOF_LINK_DMIC01, \ SOF_LINK_DMIC16K, \ SOF_LINK_BT_OFFLOAD, \ - SOF_LINK_NONE, \ + SOF_LINK_HDMI_IN, \ SOF_LINK_NONE) #define HDA_LINK_IDS SOF_LINK_ORDER(IDISP_HDMI_BE_ID, \ @@ -67,7 +68,7 @@ static void skl_set_hda_codec_autosuspend_delay(struct snd_soc_card *card) DMIC01_BE_ID, \ DMIC16K_BE_ID, \ BT_OFFLOAD_BE_ID, \ - 0, \ + HDMI_IN_BE_ID, \ 0) static unsigned long From f085a06f4ea345ef4f542a58fb8d6c64a59ab99f Mon Sep 17 00:00:00 2001 From: Bard Liao Date: Fri, 30 Oct 2026 19:09:13 +0800 Subject: [PATCH 2/3] ASoC: Intel: skl_hda_dsp_generic: Limit HDMI ignore to playback FE When iDisp is absent, limit the HDMI ignore check to playback FE links. HDMI-In links use names such as SSP%d-HDMI, and their stream_name may contain HDMI as well. Excluding BE and capture-only links prevents the HDMI-In capture link from being ignored. Signed-off-by: Bard Liao --- sound/soc/intel/boards/skl_hda_dsp_generic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c index ad0240522843bf..0ed3305b3bd11f 100644 --- a/sound/soc/intel/boards/skl_hda_dsp_generic.c +++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c @@ -92,7 +92,8 @@ static int skl_hda_add_dai_link(struct snd_soc_card *card, struct sof_card_private *ctx = snd_soc_card_get_drvdata(card); /* Ignore the HDMI PCM link if iDisp is not present */ - if (strstr(link->stream_name, "HDMI") && !ctx->hdmi.idisp_codec) + if (strstr(link->stream_name, "HDMI") && !link->no_pcm && + !link->capture_only && !ctx->hdmi.idisp_codec) link->ignore = true; return 0; From 21b860220edf0bae031e318c7e6dbd569b1fbbcb Mon Sep 17 00:00:00 2001 From: Bard Liao Date: Fri, 30 Oct 2026 19:09:18 +0800 Subject: [PATCH 3/3] ASoC: Intel: sof_sdw: Limit HDMI ignore to playback FE When iDisp is absent, limit the HDMI ignore check to playback FE links. HDMI-In links use names such as SSP%d-HDMI, and their stream_name may contain HDMI as well. Excluding BE and capture-only links prevents the HDMI-In capture link from being ignored. Signed-off-by: Bard Liao --- sound/soc/intel/boards/sof_sdw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c index b263f554dcc9a9..5a4620faa9514f 100644 --- a/sound/soc/intel/boards/sof_sdw.c +++ b/sound/soc/intel/boards/sof_sdw.c @@ -1456,7 +1456,8 @@ static int sof_sdw_add_dai_link(struct snd_soc_card *card, struct intel_mc_ctx *intel_ctx = (struct intel_mc_ctx *)ctx->private; /* Ignore the HDMI PCM link if iDisp is not present */ - if (strstr(link->stream_name, "HDMI") && !intel_ctx->hdmi.idisp_codec) + if (strstr(link->stream_name, "HDMI") && !link->no_pcm && + !link->capture_only && !intel_ctx->hdmi.idisp_codec) link->ignore = true; return 0;