ChanServ changed the topic of #linux-msm to:
Daanct12 has joined #linux-msm
Daanct12 has quit [Remote host closed the connection]
Daanct12 has joined #linux-msm
Daanct12 has quit [Ping timeout: 480 seconds]
marvin24 has joined #linux-msm
marvin24_ has quit [Ping timeout: 480 seconds]
Daanct12 has joined #linux-msm
pevik has joined #linux-msm
jhovold has joined #linux-msm
cxl000_ has quit [Quit: Leaving]
Daanct12 has quit [Ping timeout: 480 seconds]
<DylanVanAssche> srinik: I heard you are the author of https://github.com/alsa-project/alsa-ucm-conf/pull/88. I'm trying this on an SDM845 device where the speaker output is connected to an earpiece, but I get no sound. Any tips to debug this?
<Mis012[m]> Dylan Van Assche: ideally you would have schematics so you can be absolutely sure there are not three other amplifiers between the speaker output and the earpiece :P
<DylanVanAssche> Mis012: Well yeah, but we all know that these things are not easy to get or impossible to get 😉
<Mis012[m]> then 3d xray of the PCB?
<Mis012[m]> we've seen analog ampliers no less...
<Mis012[m]> *amplifiers
<Mis012[m]> I guess scour downstream for suspicious i2c devices
lumag_ has quit [Remote host closed the connection]
lumag_ has joined #linux-msm
cxl000 has joined #linux-msm
<Mis012[m]> actually, isn't downstream Windows here :P
<Mis012[m]> yeah, would probably be better to find the primary sources...
<Mis012[m]> though I guess Windows+ACPI isn't nowhere near as flexible as device trees
<Mis012[m]> in the sense of stuff from different vendors working together
<Mis012[m]> so maybe they don't have a way to add on random amplifiers?
<DylanVanAssche> AFAIK from somebody who knows a bit about the schematic, the earpiece is connected directly to the codec.
<Mis012[m]> then I don't see why it wouldn't work
<Mis012[m]> speaker or earpiece... basically the same thing
<Mis012[m]> maybe alsamixer decided to put some important thing to 0?
<DylanVanAssche> Well that's what I'm trying to find out 🙂 I'm just missing the secret sauce to properly debug this
<DylanVanAssche> `amixer` works, but you can quickly see over a control, there are like hundreds of them
pespin has joined #linux-msm
<srinik> DylanVanAssche: Speakers are SoundWire devices these are Smart Speaker Amplifiers so when you say speaker out is connected to earpiece do you mean the actual WSA881X output connected to a 8/16 ohm earpiece?
<Mis012[m]> uh huh, WSA881X sounds like board specific choice
<srinik> DylanVanAssche: or do you know if these are connected to codec Analog output of EAR_OUT_P and OUT_M ?
<srinik> Mis012[m]: Yes, that is correct, but I want to understand what was the reference to speaker output actually ment
<Mis012[m]> srinik: well, he has a Windows (*shivers*) device without schematics
<DylanVanAssche> srinik: Ah I'm not sure about that, let me ask some people 🙂
<Mis012[m]> so not sure how you would even find out if there is WSA881X
<srinik> DylanVanAssche: its normal to connect earpiece to codec analog out, but connecting to speaker out sounds unusual
<DylanVanAssche> Mis012: Sorry missed your message about Windows, it is an Android device with a SDM845 SoC chi
<Mis012[m]> oh, right, srinik has Windows
<Mis012[m]> my bad
<srinik> Mis012[m]: finding out if WSA is connected is easy, if you are able to find the reset line for WSA which is normally same pin recommended pin, then SoundWire should be able to enumerate it.
<srinik> Mis012[m]: you could see them in /sys/bus/soundwire/devices
<Mis012[m]> srinik: is there even only one place where it can be connected?
<srinik> Mis012[m]: you mean WSA or earpiece?
<Mis012[m]> WSA
<Mis012[m]> earpiece can be connected to GPCLK if you're adventurous enough xD
<srinik> Mis012[m]: Yes, WSA has to be connected to SWR_CLK and SWR_DATA line of codec
<Mis012[m]> is soundwire some new fun replacement for slimbus?
pevik has quit [Ping timeout: 480 seconds]
<srinik> Mis012[m]: SDM845 is very weird.. we use SoundWire over SLIMBus :-)
<Mis012[m]> srinik: btw, would you happen to know if there is ANY benefit to having the LPASS hexagon be involved?
<srinik> Mis012[m]: most of the new SoCs are fully moved to SounWire now, except for BT audio
<Mis012[m]> since the codecs have xtensa
<Mis012[m]> *are xtensa I guess
<Mis012[m]> sounds like one too many DSPs
<aka_[m]> Is there any sheet of which family uses sound wire and which is legacy?
<aka_[m]> Like since idk sd835
<srinik> Mis012[m]: there are many advantages of using Hexagon... like offloading, codecs, and pre and post process algos like speaker protection, Noise cancellation, Hot word detection.. and many more
<Mis012[m]> srinik: well, the wcs codecs are xtensa, so you don't need the DSP for *that*
<Mis012[m]> Sound Open Firmware could directly run on the wcs
<srinik> aka_[m]: from SDM845 we started using SoundWire specially for Speakers, but since sm8250 its moved totally to SoundWire and all the digital parts of codec are moved to LPASS
<Mis012[m]> when you say offloading, I imagine having the hexagon fw coordinate with Linux to read songs from RAM while arm cores sleep, but there's no way qcom has the same idea of offloading :P
<srinik> Mis012[m]: I meant compress offloading
<srinik> Mis012[m]: codecs, like mp3, aac...
<Mis012[m]> srinik: what does the xtensa core on the wcs do then
<Mis012[m]> SOF currently targets those xtensa cores
<Mis012[m]> well, not the wcs ones, presumably
<srinik> Mis012[m]: sorry I have no Idea :-)
<DylanVanAssche> srinik: while waiting for a response, do you maybe have any insights in the errors in dmesg? They are cryptic for me. https://bin.disroot.org/?b05b45517f74cd4e#8pzEsmb6xBZqtpbLnFyRzE8TX5fRxfM6pipCotXUQjUt
<Mis012[m]> srinik: well, SOF can run on various xtensa codecs, and it seems it has hot word detection at least
<Mis012[m]> looks like for AAC, it only has drivers for a hardware codec in some... codec xD
<DylanVanAssche> srinik: Yes, the earpiece is connected to EAR_OUT_P and EAR_OUT_M.
<Mis012[m]> doesn't sound like speaker out to me
<srinik> DylanVanAssche: looks like headset is detected and I also see overflow errors this can be when we try to send SLIMBus stream without setting up channels for ports(as result of incorrect mixer settings) let me share my mixer settings
<DylanVanAssche> No amplifiers or other ICs are between the earpiece speaker and these connections
<DylanVanAssche> srinik: Yes, I got the headset mic working with your PR, but not the speakers of the headset
<srinik> DylanVanAssche: its pretty much from the ucm, headset speakers should also work.. Let dig in my amixer settings
<srinik> DylanVanAssche: try these https://termbin.com/rd2q then aplay on plughw:0,0
<srinik> DylanVanAssche: for earpiece try this https://termbin.com/x0om
<DylanVanAssche> srinik: CDC_IF RX0 MUX, CDC_IF RX1 MUX, and SLIM_0_RX Channels cannot be found, do we miss a config?
<srinik> DylanVanAssche: pl ingore them I think these are part of downstream mixers..
<srinik> DylanVanAssche: do you hear anything on headset?
<Mis012[m]> srinik: do you think it would make sense to port SOF to hexagon then?
<Mis012[m]> and add sw aac etcdecoders
<srinik> Mis012[m]: That would be Nice :-) did you know that Qualcomm upgraded Audio firmwares on Hexagon to AudioReach framework which is data driven model, that means you can use ASoC topology to load graphs on the DSP. All the new releases are based on it.
<DylanVanAssche> srinik: No, I get the same error I had before (tried all devices of the card): https://termbin.com/1b55
<DylanVanAssche> 0,1 --> Multimedia2, 0,2 --> Multimedia3
<srinik> DylanVanAssche: you should use MultiMedia1 not MUltiMedia2
<srinik> DylanVanAssche: aplay -D plughw:0,0 *.wav
<DylanVanAssche> dmesg
<Mis012[m]> srinik: ASoC support sure sounds nice
<DylanVanAssche> srinik: That doesn'
<DylanVanAssche> doesn't give any sound
<Mis012[m]> srinik: can it be retrofitted to the old drivers or no luck?
<srinik> DylanVanAssche: that should have worked.. do you get any overflow errors?
<DylanVanAssche> srinik: Yes: https://termbin.com/r118 I have to go for a few hours, I will see the messages appear later on
<srinik> DylanVanAssche: is it that same situation with earpiece?? you can also try to set 'RX1 Digital Volume' mixer
<srinik> DylanVanAssche: that overflow message should be the last one i guess.
<srinik> DylanVanAssche: tbh, vkoul tested these mixers few days back am guessing there is something else that we are missing..
<vkoul> DylanVanAssche: if you trying to set mixers thru amixer, pls try amixer -C0 (if card 0 is your sound card)
lumag_ has quit [Ping timeout: 480 seconds]
<calebccff> srinik: DylanVanAssche: the SHIFT6mq in question has the speaker codec connected via QUATERNARY_MI2S, I don't think the WCD codec is involved at all. For the op6 and poco F1 we route it to MultiMedia1
<calebccff> downstream seems to use AIF1_PB on wcd934x for headphones and AIF4_PB for earpiece, I'm not sure how to reflect that properly on mainline, it would require some specific kernel configuration?
<calebccff> the way I have it sort-of working on op6 is a big mess
<DylanVanAssche> calebccff: vkoul srinik Ah the speaker output of the WCD codec is not the earpiece? I wasn't aware.
<DylanVanAssche> Indeed, the main speaker is connected to QUATERNARY_MI2S on the SHIFT 6mq.
<Mis012[m]> it would be a lot easier if we could all just look at the schematics together ;)
<DylanVanAssche> Mis012: Blame NDAs 😉 even I don't have the schematics
<Mis012[m]> SHIFT6mq sounds familliar, I almost feel like I might have seen the schematics at some point... that would be embarassing wouldn't it xD
<Mis012[m]> could be a false memory though
<calebccff> Mis012[m] I deem that unlikely
<Mis012[m]> calebccff: we defintitely discussed *something* about it
<Mis012[m]> or was it just me getting it confused with other devices that we discussed :P
<Mis012[m]> I should probably consider writing things down...
jhovold has quit [Ping timeout: 480 seconds]
Daanct12 has joined #linux-msm
Daanct12 has quit [Remote host closed the connection]
pespin has quit [Remote host closed the connection]
lumag_ has joined #linux-msm