From: Jerome Brunet <jbrunet@baylibre.com>
To: "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com>,
"张 宁" <zhangn1985@outlook.com>
Cc: "linux-amlogic@lists.infradead.org" <linux-amlogic@lists.infradead.org>
Subject: Re: S905x: No sound with error log.
Date: Fri, 17 Jul 2020 12:12:23 +0200 [thread overview]
Message-ID: <1jpn8upi0o.fsf@starbuckisacylon.baylibre.com> (raw)
In-Reply-To: <5ebc4187-54c0-ce72-c7b0-2c88b0e24059@linux.intel.com>
On Thu 16 Jul 2020 at 04:37, Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> wrote:
> 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;
>
Hi Pierre-Louis,
actually this patch changed the meaning of the dpcm_playback and
dpcm_capture from "is_allowed" to "is_required" and it broke this card
and another one for me.
Yes the flag are "blindly" set because with the old meanning, there was
no reason to disallow any direction. Also the card driver only handles
DT phandle and does not know much about the DAI (BE) caps.
Your change in ASoC core was meant to add support for multi cpu BE link
but:
- it changed the meaning of the flags
- it forces all CPU on the BE link to share the same direction
capability.
> 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')
Same with this change, if any codec does not support a stream direction,
it gets disabled. But it is uncommon to have link with multiple codec,
one for each stream direction. The commit above would break those cards
Could you tell why it was not possible to retain the previous logic
which was : disable the stream direction if
- dpcm_{capture,playback) is false OR
- no codec support the direction (same would apply to cpu)
??
>
>
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2020-07-17 10:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-15 22:04 S905x: No sound with error log 张 宁
2020-07-16 2:37 ` Pierre-Louis Bossart
2020-07-17 10:12 ` Jerome Brunet [this message]
[not found] ` <MWHPR1601MB1343831C2913ECB7D77DB04DCD700@MWHPR1601MB1343.namprd16.prod.outlook.com>
2020-07-31 8:38 ` 回复: " Jerome Brunet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1jpn8upi0o.fsf@starbuckisacylon.baylibre.com \
--to=jbrunet@baylibre.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=zhangn1985@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).