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