mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
ASoC: SOF: nocodec: conditionally set dpcm_capture/dpcm_playback flags
[ Upstream commitba4e5abc6c] With additional checks on dailinks, we see errors such as [ 3.000418] sof-nocodec sof-nocodec: CPU DAI DMIC01 Pin for rtd NoCodec-6 does not support playback It's not clear why we set the dpcm_playback and dpcm_capture flags unconditionally, add a check on number of channels for each direction to avoid invalid configurations. Fixes:8017b8fd37('ASoC: SOF: Add Nocodec machine driver support') Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20200608194415.4663-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7b31ec2a01
commit
69367d9f1f
@@ -52,8 +52,10 @@ static int sof_nocodec_bes_setup(struct device *dev,
|
||||
links[i].platforms->name = dev_name(dev);
|
||||
links[i].codecs->dai_name = "snd-soc-dummy-dai";
|
||||
links[i].codecs->name = "snd-soc-dummy";
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].dpcm_capture = 1;
|
||||
if (ops->drv[i].playback.channels_min)
|
||||
links[i].dpcm_playback = 1;
|
||||
if (ops->drv[i].capture.channels_min)
|
||||
links[i].dpcm_capture = 1;
|
||||
}
|
||||
|
||||
card->dai_link = links;
|
||||
|
||||
Reference in New Issue
Block a user