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