mirror of https://gitee.com/openkylin/linux.git
ASoC: SOF: Intel: hda-dai: add stream capability
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>
This commit is contained in:
parent
101247a3b8
commit
e81d47e94c
|
@ -422,56 +422,152 @@ static struct snd_soc_cdai_ops sof_probe_compr_ops = {
|
||||||
struct snd_soc_dai_driver skl_dai[] = {
|
struct snd_soc_dai_driver skl_dai[] = {
|
||||||
{
|
{
|
||||||
.name = "SSP0 Pin",
|
.name = "SSP0 Pin",
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "SSP1 Pin",
|
.name = "SSP1 Pin",
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "SSP2 Pin",
|
.name = "SSP2 Pin",
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "SSP3 Pin",
|
.name = "SSP3 Pin",
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "SSP4 Pin",
|
.name = "SSP4 Pin",
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "SSP5 Pin",
|
.name = "SSP5 Pin",
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "DMIC01 Pin",
|
.name = "DMIC01 Pin",
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 4,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "DMIC16k Pin",
|
.name = "DMIC16k Pin",
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 4,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
|
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
|
||||||
{
|
{
|
||||||
.name = "iDisp1 Pin",
|
.name = "iDisp1 Pin",
|
||||||
.ops = &hda_link_dai_ops,
|
.ops = &hda_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "iDisp2 Pin",
|
.name = "iDisp2 Pin",
|
||||||
.ops = &hda_link_dai_ops,
|
.ops = &hda_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "iDisp3 Pin",
|
.name = "iDisp3 Pin",
|
||||||
.ops = &hda_link_dai_ops,
|
.ops = &hda_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "iDisp4 Pin",
|
.name = "iDisp4 Pin",
|
||||||
.ops = &hda_link_dai_ops,
|
.ops = &hda_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 8,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "Analog CPU DAI",
|
.name = "Analog CPU DAI",
|
||||||
.ops = &hda_link_dai_ops,
|
.ops = &hda_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 16,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 16,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "Digital CPU DAI",
|
.name = "Digital CPU DAI",
|
||||||
.ops = &hda_link_dai_ops,
|
.ops = &hda_link_dai_ops,
|
||||||
|
.playback = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 16,
|
||||||
|
},
|
||||||
|
.capture = {
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 16,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "Alt Analog CPU DAI",
|
.name = "Alt Analog CPU DAI",
|
||||||
.ops = &hda_link_dai_ops,
|
.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)
|
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_PROBES)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue