[PATCH v3 12/17] ASoC: Intel: avs: Declare module configuration types

Cezary Rojewski cezary.rojewski at intel.com
Fri Mar 4 19:10:24 CET 2022


On 2022-03-04 5:43 PM, Ranjani Sridharan wrote:
> On Fri, 2022-03-04 at 15:57 +0100, Cezary Rojewski wrote:

>> +#define AVS_INTELWOV_MOD_UUID \
>> +	GUID_INIT(0xEC774FA9, 0x28D3, 0x424A, 0x90, 0xE4, 0x69, 0xF9,
>> 0x84, 0xF1, 0xEE, 0xB7)
> Why do you need to hard-code this? DOes the fw config info that you
> retrieve using get_large_config or even the FW manifest have it
> already?

While I can't get into the details, the problem lies within the firmware 
binary itself e.g.: copier may have module ID of 3 in case of firmware 
generation X, but ID of 4 in generation Y. The only sane option are the 
GUIDs - these have never changed.

Even when reading manifest, driver has to have some kind of method to 
understand what is it reading. If one cannot trust any enum or constant, 
then one won't know it is reading copier anyway. GUID list is the 
necessary evil here as we have no options of repairing all the firmware 
generations.

We do make a snapshot of modules info data through LARGE_CONFIG_GET and 
store it within ->mods_info for later use, yes (stream runtime).


Regards,
Czarek


More information about the Alsa-devel mailing list