From: Cezary Rojewski <cezary.rojewski@intel.com>
To: Jason Montleon <jmontleo@redhat.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 14:09:51 +0100 [thread overview]
Message-ID: <478bb609-8615-31b4-e6f3-8eaaf95b84d6@intel.com> (raw)
In-Reply-To: <CAJD_bPLHPfLO=192Ohrxvg5OGtAfAgTim0O+fdmxo753VS83iQ@mail.gmail.com>
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.
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?
Kind regards,
Czarek
next prev parent reply other threads:[~2023-02-10 13:10 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 [this message]
2023-02-10 14:56 ` Jason Montleon
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=478bb609-8615-31b4-e6f3-8eaaf95b84d6@intel.com \
--to=cezary.rojewski@intel.com \
--cc=amadeuszx.slawinski@linux.intel.com \
--cc=casaxa@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=jmontleo@redhat.com \
--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).