[PATCH 3/7] soundwire: intel: add mutex to prevent concurrent access to SHIM registers
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Mar 20 15:07:45 CET 2020
>> diff --git a/drivers/soundwire/intel.h b/drivers/soundwire/intel.h
>> index 38b7c125fb10..568c84a80d79 100644
>> --- a/drivers/soundwire/intel.h
>> +++ b/drivers/soundwire/intel.h
>> @@ -15,6 +15,7 @@
>> * @irq: Interrupt line
>> * @ops: Shim callback ops
>> * @dev: device implementing hw_params and free callbacks
>> + * @shim_lock: mutex to handle access to shared SHIM registers
>> */
>> struct sdw_intel_link_res {
>> struct platform_device *pdev;
>> @@ -25,6 +26,7 @@ struct sdw_intel_link_res {
>> int irq;
>> const struct sdw_intel_ops *ops;
>> struct device *dev;
>> + struct mutex *shim_lock; /* protect shared registers */
>
> Where is this mutex initialized? Did you test this...
Dude, we've been testing the heck out of SoundWire.
If you want to see the actual initialization it's in the intel_init.c code:
https://github.com/thesofproject/linux/blob/9c7487b33072040ab755d32ca173b75151c0160c/drivers/soundwire/intel_init.c#L231
And this was clearly stated in the cover letter:
"Reviewers might object that the code is provided without some required
initializations for mutexes and shim masks, they will be added as part
of the transition to sdw_master_device - still stuck as of 3/11."
More information about the Alsa-devel
mailing list