Thread (3 messages) 3 messages, 2 authors, 2025-01-06

Re: meson-aiu: HDMI codec .prepare() callback not called

From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: 2025-01-06 14:15:45
Also in: linux-amlogic, linux-sound, lkml

On Mon, Jan 6, 2025 at 2:38 PM Martin Blumenstingl
[off-list ref] wrote:
Hi Jerome,

On Mon, Jan 6, 2025 at 2:24 PM Jerome Brunet [off-list ref] wrote:
quoted
On Mon 06 Jan 2025 at 13:49, Martin Blumenstingl [off-list ref] wrote:
quoted
Hi Jerome,

On Mon, Jan 6, 2025 at 11:44 AM Jerome Brunet [off-list ref] wrote:
[...]
quoted
quoted
I have further verified that the gx-card parsing does find the HDMi
controller and links it correctly.
To me it's odd that only the .prepare() callback is not called, all
others (as mentioned above: .hw_params, .startup, ...) are working
fine.
I think the problem you are seeing comes from the quirk of
codec-to-codec links. The hdmi codec link is such a link on Amlogic
because further digital routing is required after the backend.

Those type of links are not used much beside some
CPU offloading on Samsung and Amlogic, as far as I know.
It is possible, even likely, that things are still missing there.

So those C2C links are operated by the DAPM events, not the regualar
ASoC code. You can start here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/soc-dapm.c#n3995
Thank you - that is indeed the root cause!
quoted
You'll see that .prepare() is not called, same as .trigger()
That should propably be fixed :/
Since I'm still very much clueless about all of this I just came up
with an experimental patch. Any feedback on it is welcome (I can send
it as RFC patch - but prepare for me needing support).
It is probably a good idea to send it to get more feedback, yes.
Sure, I'll do that later and keep you Cc'ed.
patches are sent (with your feedback applied), let's continue in [0]


[0] https://lore.kernel.org/linux-sound/20250106141316.375984-1-martin.blumenstingl@googlemail.com/ (local)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help