<z3ntu>
krzk: regarding wcd938x, on my device both swr devices are attached: /sys/bus/soundwire/devices/sdw:0:0217:010d:00:3/status:Attached /sys/bus/soundwire/devices/sdw:0:0217:010d:00:4/status:Attached
<z3ntu>
seems both wcd938x_sdw and the soundwire bus gets suspended, then the issue occurs
<krzk>
z3ntu: uhu, nice, so that's the cause. the "sdw" is regmap provider. The wcd9380-codec uses its regmap. When sdw suspends, regmap will be in cache mode, so it will return stale values.
<krzk>
z3ntu: this probably needs proper device links, so runtime PM is ordered
<z3ntu>
Can I for now just force it on for now?
<krzk>
z3ntu: however such link is added in bind callback, so I wonder why it does not work for you
<krzk>
yes, you can
<z3ntu>
pm_runtime_get in wcd938x-sdw.c or something?
<krzk>
yes, could work. or disable runtime pm
<z3ntu>
With the device links you mean the device_link_add calls in wcd938x.c, right?
djakov has quit [Remote host closed the connection]
djakov has joined #linux-msm
mripard has quit [Quit: mripard]
RayyanAnsari[m] has joined #linux-msm
<z3ntu>
krzk: this is weird, only after wcd938x_sdw_runtime_suspend is called (which then calls swrm_runtime_suspend and then sdw_bus_clk_stop) do we get an qcom_swrm_irq_handler call with "SWR new slave attached". So somehow something there in the suspend code triggers the device attachment, but since it's already half suspended stuff's a bit broken
<krzk>
z3ntu: yes, its weird, maybe something pokes the reset-gpio? Anyway it might be good to send report to mailing lists (ccing maintainers printed on scripts/get_maintainer.pl -f sound/soc/qcom/ arch/arm64/boot/dts/qcom/ )
<krzk>
with some logs (or linsk to logs), description of your hardware and of course description of the issue
jonesv has left #linux-msm [#linux-msm]
<z3ntu>
the reset gpio isn't even touched during suspend it seems, just during probe it gets toggled. And since the pin is called RESET_N in schematics, it also makes to use GPIO_ACTIVE_LOW like all other devices with wcd9385. One thing I noticed now is that this reset-gpio toggle happens very early in boot since I have the driver built-in, so at second ~0.3 of boot. I'm going to try now to build it as module to see if that changes anything..