From: Takashi Iwai <tiwai@suse.de>
To: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: peter.ujfalusi@linux.intel.com, lgirdwood@gmail.com,
broonie@kernel.org, perex@perex.cz, tiwai@suse.com,
alsa-devel@alsa-project.org, linux-sound@vger.kernel.org,
pierre-louis.bossart@linux.intel.com,
kai.vehmanen@linux.intel.com, ranjani.sridharan@linux.intel.com,
linux-kernel@vger.kernel.org, regressions@lists.linux.dev
Subject: Re: Oops in hdac_hda_dev_probe (6.7-rc7)
Date: Fri, 29 Dec 2023 18:11:43 +0100 [thread overview]
Message-ID: <874jg1x7ao.wl-tiwai@suse.de> (raw)
In-Reply-To: <ZY7kosArPqhlCfOA@shine.dominikbrodowski.net>
On Fri, 29 Dec 2023 16:24:18 +0100,
Dominik Brodowski wrote:
>
> Hi Takashi,
>
> many thanks for your response. Your patch helps half-way: the oops goes
> away, but so does the sound... With your patch, the decisive lines in dmesg
> are:
>
> sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
> sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
> sof_sdw sof_sdw: ASoC: CODEC DAI intel-hdmi-hifi1 not registered
> sof_sdw sof_sdw: snd_soc_register_card failed -517
> sof_sdw sof_sdw: ASoC: CODEC DAI intel-hdmi-hifi1 not registered
> sof_sdw sof_sdw: snd_soc_register_card failed -517
> platform sof_sdw: deferred probe pending
>
> With a revert of the a0575b4add21, it is:
>
> sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
> sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
> sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
> sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
> sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
> input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input14
> input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input15
> input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input16
>
> Maybe this helps a bit further?
Thanks for quick testing.
It shows at least that my guess wasn't wrong.
The problem could be the initialization order in the caller side.
Can the patch below work instead?
Takashi
-- 8< --
--- a/sound/soc/sof/intel/hda-codec.c
+++ b/sound/soc/sof/intel/hda-codec.c
@@ -113,7 +113,9 @@ EXPORT_SYMBOL_NS_GPL(hda_codec_jack_check, SND_SOC_SOF_HDA_AUDIO_CODEC);
#define is_generic_config(x) 0
#endif
-static struct hda_codec *hda_codec_device_init(struct hdac_bus *bus, int addr, int type)
+static struct hda_codec *hda_codec_device_init(struct hdac_bus *bus, int addr,
+ int type,
+ struct hdac_hda_priv *hda_priv)
{
struct hda_codec *codec;
int ret;
@@ -126,6 +128,10 @@ static struct hda_codec *hda_codec_device_init(struct hdac_bus *bus, int addr, i
codec->core.type = type;
+ hda_priv->codec = codec;
+ hda_priv->dev_index = addr;
+ dev_set_drvdata(&codec->core.dev, hda_priv);
+
ret = snd_hdac_device_register(&codec->core);
if (ret) {
dev_err(bus->dev, "failed to register hdac device\n");
@@ -163,15 +169,12 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address)
if (!hda_priv)
return -ENOMEM;
- codec = hda_codec_device_init(&hbus->core, address, HDA_DEV_LEGACY);
+ codec = hda_codec_device_init(&hbus->core, address, HDA_DEV_LEGACY,
+ hda_priv);
ret = PTR_ERR_OR_ZERO(codec);
if (ret < 0)
return ret;
- hda_priv->codec = codec;
- hda_priv->dev_index = address;
- dev_set_drvdata(&codec->core.dev, hda_priv);
-
if ((resp & 0xFFFF0000) == IDISP_VID_INTEL) {
if (!hbus->core.audio_component) {
dev_dbg(sdev->dev,
next prev parent reply other threads:[~2023-12-29 17:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-27 7:37 Oops in hdac_hda_dev_probe (6.7-rc7) Dominik Brodowski
2023-12-29 13:11 ` Takashi Iwai
2023-12-29 15:24 ` Dominik Brodowski
2023-12-29 17:11 ` Takashi Iwai [this message]
2023-12-30 7:27 ` Dominik Brodowski
2023-12-30 10:03 ` Takashi Iwai
2023-12-31 10:28 ` Takashi Iwai
2024-01-02 9:08 ` Péter Ujfalusi
2024-01-02 9:25 ` Takashi Iwai
2024-01-03 14:36 ` Takashi Iwai
2024-01-03 16:24 ` Péter Ujfalusi
2024-01-03 18:31 ` Mark Brown
2024-01-02 17:37 ` Dominik Brodowski
-- strict thread matches above, loose matches on Subject: below --
2024-01-02 22:56 Willian Wang
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=874jg1x7ao.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=kai.vehmanen@linux.intel.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux@dominikbrodowski.net \
--cc=perex@perex.cz \
--cc=peter.ujfalusi@linux.intel.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=regressions@lists.linux.dev \
--cc=tiwai@suse.com \
/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