ASoC: SOF: Intel: hda: Add a virtual CPU DAI
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Wed, 4 Feb 2026 08:18:33 +0000 (10:18 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 4 Feb 2026 13:26:10 +0000 (13:26 +0000)
Add a virtual CPU DAI for loopback capture for echo reference
implementation. We can't use the snd-soc-dummy-dai because it is already
used for the bluetooth DAI link.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Mateusz Redzynia <mateuszx.redzynia@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20260204081833.16630-11-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-dai.c
sound/soc/sof/intel/hda.h

index 3c742d5..15faede 100644 (file)
@@ -866,6 +866,14 @@ struct snd_soc_dai_driver skl_dai[] = {
                .channels_max = 4,
        },
 },
+{
+       /* Virtual CPU DAI for Echo reference */
+       .name = "Loopback Virtual Pin",
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 2,
+       },
+},
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
 {
        .name = "iDisp1 Pin",
index 3fe00c2..3f09664 100644 (file)
        (HDA_DSP_BDL_SIZE / sizeof(struct sof_intel_dsp_bdl))
 
 /* Number of DAIs */
-#define SOF_SKL_NUM_DAIS_NOCODEC       8
+#define SOF_SKL_NUM_DAIS_NOCODEC       9
 
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
-#define SOF_SKL_NUM_DAIS               15
+#define SOF_SKL_NUM_DAIS               16
 #else
 #define SOF_SKL_NUM_DAIS               SOF_SKL_NUM_DAIS_NOCODEC
 #endif