From: Takashi Iwai <tiwai@suse.de>
To: libin.yang@intel.com
Cc: alsa-devel@alsa-project.org
Subject: Re: [PATCH] ALSA: hda - PCH HDA controller not controlled by i915 power
Date: Tue, 09 Jun 2015 08:31:56 +0200 [thread overview]
Message-ID: <s5h1thlbder.wl-tiwai@suse.de> (raw)
In-Reply-To: <1433829918-5807-1-git-send-email-libin.yang@intel.com>
At Tue, 9 Jun 2015 14:05:18 +0800,
libin.yang@intel.com wrote:
>
> From: Libin Yang <libin.yang@intel.com>
>
> On some Intel platforms, the HDMI codec is connected to PCH HDA
> controller. In this case, AZX_DCAPS_I915_POWERWELL is set and
> the i915 power well failure should not block the hda controller
> initialization.
>
> Signed-off-by: Libin Yang <libin.yang@intel.com>
Is this fix needed for 4.1, or it's only for 4.2?
I vaguely remember of a bug report. If there is any relevant bug
report, please give the link, too.
Takashi
> ---
> sound/hda/hdac_i915.c | 6 +++---
> sound/pci/hda/hda_intel.c | 11 +++++++++--
> 2 files changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/sound/hda/hdac_i915.c b/sound/hda/hdac_i915.c
> index cb78c25..4f4036a 100644
> --- a/sound/hda/hdac_i915.c
> +++ b/sound/hda/hdac_i915.c
> @@ -27,7 +27,7 @@ int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable)
> {
> struct i915_audio_component *acomp = bus->audio_component;
>
> - if (!acomp->ops)
> + if (!acomp || !acomp->ops)
> return -ENODEV;
>
> if (!acomp->ops->codec_wake_override) {
> @@ -49,7 +49,7 @@ int snd_hdac_display_power(struct hdac_bus *bus, bool enable)
> {
> struct i915_audio_component *acomp = bus->audio_component;
>
> - if (!acomp->ops)
> + if (!acomp || !acomp->ops)
> return -ENODEV;
>
> dev_dbg(bus->dev, "display power %s\n",
> @@ -72,7 +72,7 @@ int snd_hdac_get_display_clk(struct hdac_bus *bus)
> {
> struct i915_audio_component *acomp = bus->audio_component;
>
> - if (!acomp->ops)
> + if (!acomp || !acomp->ops)
> return -ENODEV;
>
> return acomp->ops->get_cdclk_freq(acomp->dev);
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index 7933fb0..775e020 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -1986,14 +1986,21 @@ static int azx_probe_continue(struct azx *chip)
> hda->need_i915_power = 1;
>
> err = snd_hdac_i915_init(bus);
> + /* if controller is located in powerwell,
> + * the initialization should be stopped.
> + * if only codec is located in powerwell,
> + * the hd audio is still ok for analog audio
> + */
> if (err < 0)
> - goto i915_power_fail;
> + if (hda->need_i915_power)
> + goto i915_power_fail;
>
> err = snd_hdac_display_power(bus, true);
> if (err < 0) {
> dev_err(chip->card->dev,
> "Cannot turn on display power on i915\n");
> - goto i915_power_fail;
> + if (hda->need_i915_power)
> + goto i915_power_fail;
> }
> }
>
> --
> 1.9.1
>
next prev parent reply other threads:[~2015-06-09 6:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 6:05 [PATCH] ALSA: hda - PCH HDA controller not controlled by i915 power libin.yang
2015-06-09 6:31 ` Takashi Iwai [this message]
2015-06-09 6:46 ` David Henningsson
2015-06-09 8:30 ` Takashi Iwai
2015-06-09 8:43 ` Yang, Libin
2015-06-09 9:09 ` Takashi Iwai
2015-06-09 8:51 ` David Henningsson
2015-06-09 9:06 ` Takashi Iwai
2015-06-10 0:41 ` Yang, Libin
2015-06-10 10:24 ` Takashi Iwai
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=s5h1thlbder.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=libin.yang@intel.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.