Re: [RFT PATCH v2 4/6] arm64: dts: qcom: sdm845: move audio to separate file

From: Krzysztof Kozlowski
Date: Fri Jan 20 2023 - 02:42:16 EST


On 20/01/2023 00:24, Caleb Connolly wrote:
>
>
> On 18/01/2023 10:34, Krzysztof Kozlowski wrote:
>> Re-organize SDM845 sound components into separate, audio DTSI which
>> should be included and customized by the SDM845 boards wanting audio.
>> The DTSI includes:
>> 1. WCD9340 codec node because it is not a property of the SoC, but board.
>> 2. Common sound DAI links, shared with all sound cards.
>
> Hi Krzysztof,
>
> I know I already reported this on IRC, I thought I'd duplicate the info
> here for completeness sake.
>
> Due to how the sound node is parsed the device numbers in alsa are
> derived from the index of the sound/mmX-dai-link child nodes.
>
> For boards which use more than 3 FE's this causes breaking changes in
> userspace, as the slim-dai-link and slimcap-dai-link nodes now come
> before the other mmX-dai-link nodes, for example with my OnePlus 6
> patches "aplay -l" shows:
>
> card 0: O6 [OnePlus 6], device 0: MultiMedia1 (*) []
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 0: O6 [OnePlus 6], device 1: MultiMedia2 (*) []
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 0: O6 [OnePlus 6], device 2: MultiMedia3 (*) []
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 0: O6 [OnePlus 6], device 5: MultiMedia4 (*) [] <-- 5 instead of 3
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 0: O6 [OnePlus 6], device 6: MultiMedia5 (*) []
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 0: O6 [OnePlus 6], device 7: MultiMedia6 (*) []
> Subdevices: 1/1
> Subdevice #0: subdevice #0
>
> This breaks the UCM configs shipped by postmarketOS and Mobian - though
> none of it is "upstream".

Thanks for the report.


>
> Would it be reasonable to add all 6 FE DAI's and then disable the unused
> ones on a per-board basis?


Or just drop the sound node from the audio DTSI, not sure if there are
benefits in such case...

>
>>
>> The Xiaomi Polaris, although includes WCD9340 codec, it lacks sound
>> node, so it stays disabled.
>>
>> On all others boards not using audio, keep the Slimbus node disabled as
>> it is empty.

Please trim your replies - there is a lot of unrelated content here and
I don't know if I should keep scrolling to look for something or not.

Best regards,
Krzysztof