From: Jason Montleon <jmontleo@redhat.com>
To: Cezary Rojewski <cezary.rojewski@intel.com>
Cc: "Sasa Ostrouska" <casaxa@gmail.com>,
"Linux regressions mailing list" <regressions@lists.linux.dev>,
"Greg KH" <gregkh@linuxfoundation.org>,
lma@semihalf.com,
"Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com>,
stable@vger.kernel.org, "Takashi Iwai" <tiwai@suse.de>,
"Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>
Subject: Re: Google Pixelbook EVE, no sound in kernel 6.1.x
Date: Fri, 10 Feb 2023 09:56:51 -0500 [thread overview]
Message-ID: <CAJD_bPKiT91yx9FJNS3VEU2JemJvBtUW-4idWXBSy1hzfz8bsQ@mail.gmail.com> (raw)
In-Reply-To: <478bb609-8615-31b4-e6f3-8eaaf95b84d6@intel.com>
On Fri, Feb 10, 2023 at 8:10 AM Cezary Rojewski
<cezary.rojewski@intel.com> wrote:
>
> On 2023-02-09 5:13 PM, Jason Montleon wrote:
> > I've done some more digging. The only line that needs to be reverted
> > from f2bd1c5ae2cb0cf9525c9bffc0038c12dd7e1338, moving from
> > snd_hda_codec_device_init back to snd_hda_codec_device_new is:
> > codec->core.exec_verb = codec_exec_verb;
> > (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/sound/pci/hda/hda_codec.c?h=v6.1.11#n931)
> >
> > I added a bunch of debug statements and all the code in
> > codec_exec_verb runs at boot with this in snd_hda_codec_device_init,
> > whereas it does not when in snd_hda_codec_device_new.
> >
> > From what I can tell we end up in snd_hda_power_up_pm and then get
> > hung up at snd_hdac_power_up.
> >
> > There are a bunch of pin port messages that show up from
> > hdac_hdmi_query_port_connlist when things are working, that never
> > appear when broken:
> > [ 14.618805] HDMI HDA Codec ehdaudio0D2: No connections found for pin:port 5:0
> > [ 14.619242] HDMI HDA Codec ehdaudio0D2: No connections found for pin:port 5:1
> > [ 14.619703] HDMI HDA Codec ehdaudio0D2: No connections found for pin:port 5:2
> > ...
> >
> > I do see hdac_hdmi_runtime_suspend run a moment before things go bad,
> > but I have no idea if it is related.
> >
> > Without patching anything and CONFIG_PM unset everything works.
> >
> > I don't know if that helps anyone see where the problem is. If not
> > I'll keep plugging away.
> >
> > Incidentally, commit 3fd63658caed9494cca1d4789a66d3d2def2a0ab, pointed
> > to by my second bisect, starts making using of skl_codec_device_init
> > where I believe snd_hda_codec_device_init is called and starts the
> > problem. I believe this is why reverting either of the two works
> > around the problem.
>
>
> This is some exceptional debugging, Jason.
>
> I believe this finding reveals a long standing problem that was covered
> by a very specific codec-fields initialization order:
>
> During initial part of codec-device initialization, VERBs execution
> follows different flow than one happening once the device is fully
> initialized. This comes down to the if-statement preset in
> snd_hdac_exec_verb() and the fact codec_exec_verb() differs from
> snd_hdac_bus_exec_verb() in PM-handling - the latter is devoid of it.
>
Thank you for the explanation! I was not following this well, but it
makes sense to me now.
> That is until ->exec_verb gets initialized and codec_exec_verb() becomes
> the sole handler of VERB execution process. As PM is not yet configured
> at the time - snd_hda_codec_device_init() happens early, whereas PM
> configuration is done later with snd_hda_set_power_save() during
> skl_hda_audio_probe() in sound/soc/intel/boards/skl_hda_dsp_generic.c -
> it should not be touched yet.
>
> I'm up for reverting this single line to where it was before the
> offending patch. We still want to avoid the page fault the very patch is
> addressing.
>
> Does the proposed change address both problems? i.e. no sound and hang
> during shutdown?
Yes, moving the one line back fixes both the no sound and shutdown hang.
Thank you!
Jason Montleon
>
> Kind regards,
> Czarek
>
--
Jason Montleon | email: jmontleo@redhat.com
Red Hat, Inc. | gpg key: 0x069E3022
Cell: 508-496-0663 | irc: jmontleo / jmontleon
next prev parent reply other threads:[~2023-02-10 14:59 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-28 17:09 Google Pixelbook EVE, no sound in kernel 6.1.x Jason Montleon
2023-01-28 17:52 ` Greg KH
2023-01-29 0:23 ` Jason Montleon
2023-01-30 6:33 ` Jason Montleon
2023-01-30 11:27 ` Linux kernel regression tracking (Thorsten Leemhuis)
2023-01-30 12:15 ` Cezary Rojewski
2023-01-30 12:22 ` Sasa Ostrouska
2023-01-31 12:36 ` Cezary Rojewski
2023-01-31 14:58 ` Sasa Ostrouska
2023-01-31 15:48 ` Cezary Rojewski
2023-01-31 16:02 ` Sasa Ostrouska
2023-01-31 15:16 ` Jason Montleon
2023-01-31 15:46 ` Cezary Rojewski
2023-02-01 11:05 ` Amadeusz Sławiński
2023-02-01 14:33 ` Jason Montleon
2023-02-04 15:16 ` Jason Montleon
2023-02-06 9:03 ` Amadeusz Sławiński
2023-02-06 13:51 ` Jason Montleon
2023-02-06 19:57 ` Jason Montleon
2023-02-06 21:15 ` Sasa Ostrouska
2023-02-09 16:13 ` Jason Montleon
2023-02-09 19:22 ` Jason Montleon
2023-02-10 13:09 ` Cezary Rojewski
2023-02-10 14:56 ` Jason Montleon [this message]
2023-02-10 17:15 ` Sasa Ostrouska
2023-01-30 11:23 ` Linux kernel regression tracking (#update)
-- strict thread matches above, loose matches on Subject: below --
2023-01-23 20:44 Sasa Ostrouska
2023-01-24 5:09 ` Greg KH
2023-01-24 10:18 ` Lukasz Majczak
2023-01-24 11:34 ` Sasa Ostrouska
2023-01-24 12:11 ` Lukasz Majczak
2023-01-24 14:31 ` Sasa Ostrouska
2023-01-24 21:38 ` Sasa Ostrouska
2023-01-25 15:48 ` Lukasz Majczak
2023-01-24 11:30 ` Sasa Ostrouska
2023-01-26 12:59 ` Linux kernel regression tracking (#adding)
2023-01-27 10:06 ` Sasa Ostrouska
2023-02-09 14:11 ` Sasa Ostrouska
2023-02-24 1:10 ` Sasa Ostrouska
2023-02-24 20:43 ` Sasa Ostrouska
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJD_bPKiT91yx9FJNS3VEU2JemJvBtUW-4idWXBSy1hzfz8bsQ@mail.gmail.com \
--to=jmontleo@redhat.com \
--cc=amadeuszx.slawinski@linux.intel.com \
--cc=casaxa@gmail.com \
--cc=cezary.rojewski@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=lma@semihalf.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=regressions@lists.linux.dev \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).