ASoC: SOF: Intel: hda-dai: add stream capability
authorBard Liao <yung-chuan.liao@linux.intel.com>
Thu, 12 Mar 2020 20:06:17 +0000 (15:06 -0500)
committerMark Brown <broonie@kernel.org>
Fri, 13 Mar 2020 15:13:22 +0000 (15:13 +0000)
snd_soc_dai_stream_valid() will check if the stream is valid by testing
stream->channels_min. So we do need the information in dai driver.

The stream name is not added since we want to sure
playback_widget/capture_widget will be created by topology.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20200312200622.24477-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-dai.c

index ed5e7d2..b9e3ce6 100644 (file)
@@ -422,56 +422,152 @@ static struct snd_soc_cdai_ops sof_probe_compr_ops = {
 struct snd_soc_dai_driver skl_dai[] = {
 {
        .name = "SSP0 Pin",
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "SSP1 Pin",
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "SSP2 Pin",
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "SSP3 Pin",
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "SSP4 Pin",
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "SSP5 Pin",
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "DMIC01 Pin",
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 4,
+       },
 },
 {
        .name = "DMIC16k Pin",
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 4,
+       },
 },
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
 {
        .name = "iDisp1 Pin",
        .ops = &hda_link_dai_ops,
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "iDisp2 Pin",
        .ops = &hda_link_dai_ops,
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "iDisp3 Pin",
        .ops = &hda_link_dai_ops,
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "iDisp4 Pin",
        .ops = &hda_link_dai_ops,
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 8,
+       },
 },
 {
        .name = "Analog CPU DAI",
        .ops = &hda_link_dai_ops,
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 16,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 16,
+       },
 },
 {
        .name = "Digital CPU DAI",
        .ops = &hda_link_dai_ops,
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 16,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 16,
+       },
 },
 {
        .name = "Alt Analog CPU DAI",
        .ops = &hda_link_dai_ops,
+       .playback = {
+               .channels_min = 1,
+               .channels_max = 16,
+       },
+       .capture = {
+               .channels_min = 1,
+               .channels_max = 16,
+       },
 },
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_PROBES)
 {