S905x: No sound with error log.

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Jul 15 22:37:02 EDT 2020



On 7/15/20 5:04 PM, 张 宁 wrote:
> Hi,
> 
> Recent asoc change makes S905x audio card prob failed.
> 
> [    6.338428] gx-sound-card sound: CPU DAI I2S Encoder for rtd be.dai-link-1 does not support capture
> [    6.342176] gx-sound-card sound: ASoC: can't create pcm be.dai-link-1 :-22
> 
> Good: 5.7.3
> Bad: 5.7.6
> 
> After read patches, I find suspect:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/sound/soc?h=v5.7.8&id=1bb707fbfd5c246028d76b8f11a19dfd118d6306
> 
> this patch doesn’t allow playback only or capture only dai-link. Why?

it does, but you need to make sure the capabilities of a dai match the 
capability of a dailink they are part of. The be-dai-link1 can support 
capture but the I2S encoder so doesn't you have an invalid configuration.

Could this be the problem be with this code:

int meson_card_set_be_link(struct snd_soc_card *card,
			   struct snd_soc_dai_link *link,
			   struct device_node *node)
{
	struct snd_soc_dai_link_component *codec;
	struct device_node *np;
	int ret, num_codecs;

	link->no_pcm = 1;
	link->dpcm_playback = 1;
	link->dpcm_capture = 1;

Setting the flags blindly is not so good. A helper was added recently, 
see 25612477d20b ('ASoC: soc-dai: set dai_link dpcm_ flags with a helper')




More information about the linux-amlogic mailing list