About Cleanup ASoC

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue May 31 16:37:59 CEST 2022



On 5/27/22 03:38, Cezary Rojewski wrote:
> On 2022-05-26 4:45 PM, Pierre-Louis Bossart wrote:
>> On 5/26/22 09:17, Cezary Rojewski wrote:
> 
>>> Hmm.. I don't see why SDW is a problem here. Could you elaborate? I
>>> could boost avs-driver to support SDW configurations if we need a POC.
>>> Why would machine devices not be created by the platform (e.g. PCI)
>>> driver?
>>
>> Because there will be at some point an ACPI device for the machine
>> driver. I can't give more details on a public mailing list just yet, but
>> the approach based on the PCI driver creating a platform device is NOT
>> future-proof.
> 
> I still believe that upcoming descriptor changes only simplifies things
> - less machine descriptor tables, more reliance on actual ACPI
> description. Remember that granular card approach does not ban the usage
> of compound cards. You can still mix both together. If we encounter some
> descriptor that says given N devices are logically inseparable, then we
> create a single machine board for them. The fact that sound card has a
> device assigned to it does not change - something will create a device
> and sound card driver will attach onto it. From that point onward,
> assigned DAI LINK components can still take control of cards behavior
> just like we do it today.

Having multiple cards created is not the issue, it's that there's no
generic way for the platform driver to know how to expose the DAIs in
separate components.

Shamelessly borrowing Morimoto-san's ascii art, it would be ideal if
both of the models below could be supported. Currently the first one is
not supported due to the component:card 1:1 relationship, and when the
card is created it's too late to change how the components are exposed.



        +-- DeviceA --+       +- DeviceB --+
	|+-----------+|       |+----------+|
	||ComponentA ||       ||ComponentB||
	||        [DAI] <-> [DAI]         ||  Card-1
	||           ||       |+----------+|
	||           ||       +------------+
	||           ||
	||           ||       +- DeviceC --+
	||           ||       |+----------+|
	||           ||       ||ComponentC||
	||         [DAI] <-> [DAI]        ||  Card-2
	|+-----------+|       |+----------+|
	+-------------+       +------------+

	+-- DeviceA --+       +-- DeviceB -+
	|+-----------+|       |+----------+|
	||ComponentA1||       ||ComponentB||
	||         [DAI] <-> [DAI]        ||  Card-1
	|+-----------+|       |+----------+|
	|             |       +------------+
	|             |
	|             |       +-- DeviceC -+
	|+-----------+|       |+----------+|
	||ComponentA2||       ||ComponentC||
	||         [DAI] <-> [DAI]        ||  Card-2
	|+-----------+|       |+----------+|
	+-------------+       +------------+


More information about the Alsa-devel mailing list