On Tue, May 24, 2022 at 04:40:24AM +0000, Kuninori Morimoto wrote:
I have very interesting to clean up ASoC. I think it is still very complex, thus, non flexible. I'm thinking that we want to cleanup...
- Component with multi Card connection
I'm really not certain that we want components in multiple cards at all, I know the Intel AVS people wanted this but I'm concerned that if a single component is in multiple cards we'll inevitably have connections between the cards which each needs to take into consideration, that could be routing or something else like clock configuration.
- fixed playback vs capture
- fixed CPU vs Codec
- DPCM connection vs normal connection
These all should be clear wins. The first two are much easier.
I guess the biggest reason why we have limitation is its connections. Text based image is a little bit difficult, but if my understanding was correct, current connections are...
So if rtd have something other connector list, let's say "ep" list here for now, instead of "dai", and remove Card <-> Component connection, I think the connection can be simple, and the issue can be gone, but what do you think ?
There's also the DAPM graph and clocking to consider - if you can route audio from one DAI to another, or mix audio signals to/from multiple DAIs then DAPM can end up spanning multiple cards which gets interesting. The clocks are probably less of an issue if we move to the clock API, though there's the potential for disagreements between cards about clock rates.