Re: [PATCH 2/2] ASoC: qcom: Move Soundwire runtime stream alloc to soundcards

From: Pierre-Louis Bossart
Date: Tue Nov 28 2023 - 12:54:10 EST




On 11/28/23 10:59, Krzysztof Kozlowski wrote:
> On 28/11/2023 17:56, Krzysztof Kozlowski wrote:
>> Currently the Qualcomm Soundwire controller in its DAI startup op
>> allocates the Soundwire stream runtime. This works fine for existing
>> designs, but has limitations for stream runtimes with multiple
>> controllers, like upcoming Qualcomm X1E80100 SoC with four WSA8840
>> speakers on two Soundwire controllers.
>>
>> When two Soundwire controllers are added to sound card codecs, Soundwire
>> startup() is called twice, one for each Soundwire controller, and second
>> execution overwrites what was set before. During shutdown() this causes
>> double free.
>>
>> It is expected to have only one Soundwire stream runtime, thus it should
>> be allocated from SoC soundcard context startup(), not from each
>> Soundwire startup(). Such way will properly handle both cases: one and
>> two Soundwire controllers in the stream runtime.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>>
>> ---
>>
>> This is an entirely different approach than my previous try here:
>> https://lore.kernel.org/all/20231025144601.268645-1-krzysztof.kozlowski@xxxxxxxxxx/
>
> ... and I forgot to thank you Pierre-Louis for patient explanation of
> the case in my previous try. Your review was much appreciated!

You're welcome. It's good if we have multiple platforms using the
'stream' concept in similar ways.