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