Comment 286 for bug 1958019

Revision history for this message
In , cam (cam-linux-kernel-bugs) wrote :

Created attachment 297583
linux-5.12.12-legion-sound-0.0.4.patch - updated headphone fix, more models supported

I've updated the headphone fix. The automute_hook wasn't the fix. Simply having an automute_hook defined means snd_hda_gen_update_outputs() is not called. The call to snd_hda_gen_update_outputs() results in do_automute() being called, which shuts down the speakers putting them into a state where they need to be re-initialized. Setting automute_speaker to off avoids do_automute() breaking the speakers and it seems we can trust the hardware to do the right thing.

So please test without any of the other work arounds. Make sure speaker output resumes after unplugging headphones while sound is playing.

The good news is that this patch should now affect more than the original 2020 Legion. Here are the models that can test this patch:
Lenovo Legion 7i
Legion 7 16ACHg6 (2021)
Lenovo Yoga 7 14ITL5
Yoga 14cITL 2021

In the case of the last 2 models, you should only see output from one speaker as the same verbs are being applied as in verbs-working.txt (for now).

In the case of the 16ACHg6, I have no idea what to expect. Depends if the speakers require the same (or very similar) initialization sequence or not.