From: Cezary Rojewski <cezary.rojewski@intel.com>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: pierre-louis.bossart@linux.intel.com,
Cezary Rojewski <cezary.rojewski@intel.com>,
alsa-devel@alsa-project.org, tiwai@suse.com, broonie@kernel.org,
mateusz.gorski@linux.intel.com
Subject: [PATCH 1/8] ASoC: Intel: Skylake: Remove superfluous chip initialization
Date: Sun, 29 Nov 2020 12:41:41 +0100 [thread overview]
Message-ID: <20201129114148.13772-2-cezary.rojewski@intel.com> (raw)
In-Reply-To: <20201129114148.13772-1-cezary.rojewski@intel.com>
commit 2ef81057d80456870b97890dd79c8f56a85b1242 upstream.
Skylake driver does the controller init operation twice:
- first during probe (only to stop it just before scheduling probe_work)
- and during said probe_work where the actual correct sequence is
executed
To properly complete boot sequence when iDisp codec is present, bus
initialization has to be called only after _i915_init() finishes.
With additional _reset_list preceding _i915_init(), iDisp codec never
gets the chance to enumerate on the link. Remove the superfluous
initialization to address the issue.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200305145314.32579-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org> # 5.4.x
---
sound/soc/intel/skylake/skl.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index 141dbbf975ac..861c07417fed 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -807,6 +807,9 @@ static void skl_probe_work(struct work_struct *work)
return;
}
+ skl_init_pci(skl);
+ skl_dum_set(bus);
+
err = skl_init_chip(bus, true);
if (err < 0) {
dev_err(bus->dev, "Init chip failed with err: %d\n", err);
@@ -922,8 +925,6 @@ static int skl_first_init(struct hdac_bus *bus)
return -ENXIO;
}
- snd_hdac_bus_reset_link(bus, true);
-
snd_hdac_bus_parse_capabilities(bus);
/* check if PPCAP exists */
@@ -971,11 +972,7 @@ static int skl_first_init(struct hdac_bus *bus)
if (err < 0)
return err;
- /* initialize chip */
- skl_init_pci(skl);
- skl_dum_set(bus);
-
- return skl_init_chip(bus, true);
+ return 0;
}
static int skl_probe(struct pci_dev *pci,
@@ -1080,8 +1077,6 @@ static int skl_probe(struct pci_dev *pci,
if (bus->mlcap)
snd_hdac_ext_bus_get_ml_capabilities(bus);
- snd_hdac_bus_stop_chip(bus);
-
/* create device for soc dmic */
err = skl_dmic_device_register(skl);
if (err < 0) {
--
2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Cezary Rojewski <cezary.rojewski@intel.com>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: alsa-devel@alsa-project.org, broonie@kernel.org, tiwai@suse.com,
pierre-louis.bossart@linux.intel.com,
mateusz.gorski@linux.intel.com,
Cezary Rojewski <cezary.rojewski@intel.com>
Subject: [PATCH 1/8] ASoC: Intel: Skylake: Remove superfluous chip initialization
Date: Sun, 29 Nov 2020 12:41:41 +0100 [thread overview]
Message-ID: <20201129114148.13772-2-cezary.rojewski@intel.com> (raw)
In-Reply-To: <20201129114148.13772-1-cezary.rojewski@intel.com>
commit 2ef81057d80456870b97890dd79c8f56a85b1242 upstream.
Skylake driver does the controller init operation twice:
- first during probe (only to stop it just before scheduling probe_work)
- and during said probe_work where the actual correct sequence is
executed
To properly complete boot sequence when iDisp codec is present, bus
initialization has to be called only after _i915_init() finishes.
With additional _reset_list preceding _i915_init(), iDisp codec never
gets the chance to enumerate on the link. Remove the superfluous
initialization to address the issue.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200305145314.32579-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org> # 5.4.x
---
sound/soc/intel/skylake/skl.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index 141dbbf975ac..861c07417fed 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -807,6 +807,9 @@ static void skl_probe_work(struct work_struct *work)
return;
}
+ skl_init_pci(skl);
+ skl_dum_set(bus);
+
err = skl_init_chip(bus, true);
if (err < 0) {
dev_err(bus->dev, "Init chip failed with err: %d\n", err);
@@ -922,8 +925,6 @@ static int skl_first_init(struct hdac_bus *bus)
return -ENXIO;
}
- snd_hdac_bus_reset_link(bus, true);
-
snd_hdac_bus_parse_capabilities(bus);
/* check if PPCAP exists */
@@ -971,11 +972,7 @@ static int skl_first_init(struct hdac_bus *bus)
if (err < 0)
return err;
- /* initialize chip */
- skl_init_pci(skl);
- skl_dum_set(bus);
-
- return skl_init_chip(bus, true);
+ return 0;
}
static int skl_probe(struct pci_dev *pci,
@@ -1080,8 +1077,6 @@ static int skl_probe(struct pci_dev *pci,
if (bus->mlcap)
snd_hdac_ext_bus_get_ml_capabilities(bus);
- snd_hdac_bus_stop_chip(bus);
-
/* create device for soc dmic */
err = skl_dmic_device_register(skl);
if (err < 0) {
--
2.17.1
next prev parent reply other threads:[~2020-11-29 11:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-29 11:41 [PATCH 0/8] ASoC: Intel: Skylake: Fix HDAudio and DMIC for v5.4 Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski [this message]
2020-11-29 11:41 ` [PATCH 1/8] ASoC: Intel: Skylake: Remove superfluous chip initialization Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Skylake: Remove superfluous chip initialization" has been added to the 5.4-stable tree gregkh
2020-11-29 11:41 ` [PATCH 2/8] ASoC: Intel: Skylake: Select hda configuration permissively Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Skylake: Select hda configuration permissively" has been added to the 5.4-stable tree gregkh
2020-11-29 11:41 ` [PATCH 3/8] ASoC: Intel: Skylake: Enable codec wakeup during chip init Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Skylake: Enable codec wakeup during chip init" has been added to the 5.4-stable tree gregkh
2020-11-29 11:41 ` [PATCH 4/8] ASoC: Intel: Skylake: Shield against no-NHLT configurations Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Skylake: Shield against no-NHLT configurations" has been added to the 5.4-stable tree gregkh
2020-11-29 11:41 ` [PATCH 5/8] ASoC: Intel: Allow for ROM init retry on CNL platforms Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Allow for ROM init retry on CNL platforms" has been added to the 5.4-stable tree gregkh
2020-11-29 11:41 ` [PATCH 6/8] ASoC: Intel: Skylake: Await purge request ack on CNL Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Skylake: Await purge request ack on CNL" has been added to the 5.4-stable tree gregkh
2020-11-29 11:41 ` [PATCH 7/8] ASoC: Intel: Multiple I/O PCM format support for pipe Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Multiple I/O PCM format support for pipe" has been added to the 5.4-stable tree gregkh
2020-11-29 11:41 ` [PATCH 8/8] ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT Cezary Rojewski
2020-11-29 11:41 ` Cezary Rojewski
2020-12-01 8:42 ` Patch "ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT" has been added to the 5.4-stable tree gregkh
2020-12-01 8:43 ` [PATCH 0/8] ASoC: Intel: Skylake: Fix HDAudio and DMIC for v5.4 Greg KH
2020-12-01 8:43 ` Greg KH
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=20201129114148.13772-2-cezary.rojewski@intel.com \
--to=cezary.rojewski@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mateusz.gorski@linux.intel.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=stable@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.