[PATCH v3 11/17] ASoC: Intel: avs: Firmware resources management utilities

Ranjani Sridharan ranjani.sridharan at linux.intel.com
Mon Mar 7 17:46:10 CET 2022


> > > + * @modres_mutex: For synchronizing any @mods_info updates
> > Is this mutex really necessary? Can you please elaborate under what
> > circumstances your will have parallel module updates?
> 
> 
> 
> 
> Yes, we believe modres_mutex is necessary. All information regarding 
> 
> modules exposed by the firmware are stored within ->mods_info cache.
> 
> 
> 
> That's just a snapshot though. When a new library gets loaded, new 
> 
> modules may be available for use and so the driver updates the 
> 
> ->mods_info cache to have the latest snapshot. As information found 
> 
> there is used when streaming (e.g.: instantiating modules), we enter
> a 
> 
> scenario when multiple threads could be reading/updating the
> ->mods_info 
> 
> at once. To prevent any unwanted behavior, mutex has been added.
This is the part that's hard to follow without seeing the actual code
where this new library is loaded. When does a libray get loaded? When
you start streaming and you realize that the stream requires a module
that is not built into the base FW? Can this be done during topology
loading instead?

Thanks,
Rnajani



More information about the Alsa-devel mailing list