On Wed, Jun 07, 2023 at 10:36:40AM +0100, Srinivas Kandagatla wrote:
On 05/06/2023 10:08, Johan Hovold wrote:
On Thu, May 25, 2023 at 02:38:08PM +0100, Srinivas Kandagatla wrote:
During x13s audio testing we hit few corner cases due to issues in codec drivers and some obvious code bugs.
Here are the fixes for those issues, mostly the issues are around devices loosing the sync in between runtime pm suspend resume path.
With codec fixes along with these fixes, audio on x13s is pretty stable.
Changes since v1:
- dropped runtime pm changes patch as unable to reproduced it anymore
- fixed clk stop flag as suggested by Pierre
- rebased on top of linux-next
I tried to update to this series on my 6.4-rc5 branch for the X13s and the above changes appear to lead to breakages again.
These patches are based on linux next, we can not cleanly apply them on rc5 i guess without the depended patches.
Yeah, I did the corresponding changes you did in v2 to v1 applied to 6.4-rc5 instead of backporting the dependencies.
I have tried these patches with your rc4 branch along with other depended patches my branch is at: https://git.linaro.org/people/srinivas.kandagatla/linux.git/log/?h=wip/sc828...
this works fine for me, not seeing any issues so far. tested both speakers and headset.
Specifically, with the updated clk stop flag (simple_clk_stop_capable) I see:
[ 14.789533] wcd9380-codec sdw:0:0217:010d:00:3: Slave 1 state check1: UNATTACHED, status was 1 [ 14.789717] qcom-soundwire 3330000.soundwire-controller: qcom_swrm_irq_handler: SWR bus clsh detected [ 14.796164] wcd9380-codec sdw:0:0217:010d:00:3: Slave 1 state check1: UNATTACHED, status was 1
So as we discussed of list, this particular issue was due to a mistake I made when "backporting" your v2 where I forgot to invert the test when replacing simple_clk_stop_capable with clk_stop_mode1.
and without the runtime pm patch that you dropped in v2 I get intermittent (e.g. twice in five boots):
[ 11.527301] snd-sc8280xp sound: ASoC: adding FE link failed [ 11.527409] snd-sc8280xp sound: ASoC: topology: could not load header: -517
Never seen this, looks like some corrupted tplg to me.. I might be wrong.
[ 11.527557] qcom-apm gprsvc:service:2:1: tplg component load failed-517 [ 11.527640] qcom-apm gprsvc:service:2:1: ASoC: error at snd_soc_component_probe on gprsvc:service:2:1: -22 [ 11.528079] snd-sc8280xp sound: ASoC: failed to instantiate card -22 [ 11.533388] snd-sc8280xp: probe of sound failed with error -22
Again, this was with 6.4-rc5, but these problems are likely still there also with linux-next.
Have you tried linux-next?
No, not yet, but I just triggered the above once more after not having seen with my latest -rc5 branch for a while (e.g. 20 reboots?):
[ 11.430131] qcom-soundwire 3210000.soundwire-controller: Qualcomm Soundwire controller v1.6.0 Registered [ 11.431741] wcd938x_codec audio-codec: bound sdw:0:0217:010d:00:4 (ops wcd938x_sdw_component_ops [snd_soc_wcd938x_sdw]) [ 11.431933] wcd938x_codec audio-codec: bound sdw:0:0217:010d:00:3 (ops wcd938x_sdw_component_ops [snd_soc_wcd938x_sdw]) [ 11.435406] qcom-soundwire 3330000.soundwire-controller: Qualcomm Soundwire controller v1.6.0 Registered [ 11.449286] qcom-soundwire 3250000.soundwire-controller: Qualcomm Soundwire controller v1.6.0 Registered [ 11.450632] wsa883x-codec sdw:0:0217:0202:00:1: WSA883X Version 1_1, Variant: WSA8835_V2 [ 11.453155] wsa883x-codec sdw:0:0217:0202:00:1: WSA883X Version 1_1, Variant: WSA8835_V2 [ 11.456511] wsa883x-codec sdw:0:0217:0202:00:2: WSA883X Version 1_1, Variant: WSA8835_V2 [ 11.562623] q6apm-dai 3000000.remoteproc:glink-edge:gpr:service@1:dais: Adding to iommu group 23 [ 11.585766] snd-sc8280xp sound: ASoC: adding FE link failed [ 11.585872] snd-sc8280xp sound: ASoC: topology: could not load header: -517 [ 11.586021] qcom-apm gprsvc:service:2:1: tplg component load failed-517 [ 11.586100] qcom-apm gprsvc:service:2:1: ASoC: error at snd_soc_component_probe on gprsvc:service:2:1: -22 [ 11.586530] snd-sc8280xp sound: ASoC: failed to instantiate card -22 [ 11.591831] snd-sc8280xp: probe of sound failed with error -22
I don't think I've ever seen it before dropping the runtime PM patch as you did in v2, and I hit it twice fairly quickly after dropping it. And now again.
I'm not saying that the runtime PM patch is necessarily correct, and perhaps it is just changes in timing that lead to the above, but we definitely have a bug here.
My X13s is sitting here in the above state right now if there's some state you want me to inspect.
This is the branch I'm using:
https://github.com/jhovold/linux/tree/wip/sc8280xp-v6.4-rc5
with commit
c0ab29445663 ("soundwire: qcom: enable runtime pm before controller is registered")
reverted.
Johan