Messages in this thread | | | Subject | Re: [BISECT] No audio after "ASoC: core: use component driver name as component name" | From | Sylwester Nawrocki <> | Date | Fri, 31 May 2019 15:44:04 +0200 |
| |
On 5/31/19 12:20, Tzung-Bi Shih wrote: > On Fri, May 31, 2019 at 5:27 PM Krzysztof Kozlowski <krzk@kernel.org> wrote: >> The problem might be in component name. The driver->name and >> fmt_single_name(dev, &component->id) are: >> snd_dmaengine_pcm != 3830000.i2s >> snd_dmaengine_pcm != 3830000.i2s-sec >> samsung-i2s != 3830000.i2s >> >> This commit should not go in without fixing the users of old >> behavior... I could adjust the platform names for primary and >> secondary links... but now it looks like two components will have the >> same name. > > That is because the two component drivers used the same name in > somehow. But yes, we should not have the commit without fixing > potential errors for users depend on old behavior.
There are 2 platform devices (3830000.i2s, 3830000.i2s-sec), for each a platform/DMA component is created. For 3830000.i2s there is also a component with 2 CPU DAIs registered.
If we derive the platform/DMA component name from the component's driver name then we end up with non unique Platform component names (snd_dmaengine_pcm) and subsequently we fail to assign Platform component to DAI links.
Here is list of components before the patch:
# cat /sys/kernel/debug/asoc/components 3830000.i2s 3830000.i2s-sec 3830000.i2s hdmi-audio-codec.3.auto max98090.5-0010 snd-soc-dummy snd-soc-dummy
And after the patch:
root@target:~# cat /sys/kernel/debug/asoc/components samsung-i2s snd_dmaengine_pcm snd_dmaengine_pcm hdmi-audio-codec.3.auto max98090.5-0010 snd-soc-dummy snd-soc-dummy
| |