-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Thursday, May 23, 2013 4:10 PM To: Wang, Xingchao Cc: daniel@ffwll.ch; alsa-devel@alsa-project.org; intel-gfx@lists.freedesktop.org; david.henningsson@canonical.com; Girdwood, Liam R; Li, Jocelyn; Wang Xingchao Subject: Re: [PATCH 3/4] ALSA: hda - Fix runtime PM check
At Thu, 23 May 2013 07:53:00 +0000, Wang, Xingchao wrote:
Hi Takashi,
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Thursday, May 23, 2013 2:03 PM To: Wang Xingchao Cc: daniel@ffwll.ch; alsa-devel@alsa-project.org; intel-gfx@lists.freedesktop.org; david.henningsson@canonical.com; Girdwood, Liam R; Li, Jocelyn; Wang, Xingchao Subject: Re: [PATCH 3/4] ALSA: hda - Fix runtime PM check
At Thu, 23 May 2013 01:04:15 +0800, Wang Xingchao wrote:
The device can support runtime PM no matter whether it support signal wakeup or not. For some chips like Haswell which doesnot support PME by default, this patch let haswell Display HD-A controller enter runtime suspend, and bring more power saving whith power-well feature enabled. Signed-off-by: Wang Xingchao xingchao.wang@linux.intel.com
This change has nothing to do with the power well fix, thus no reason to put in the series.
But power-well feature depends on HD-A controller's power-save enabling, without this patch, Power-well would not be shutdown automatically, thus cause more power.
Then the fix order is wrong. Fix this first, then the rest.
Okay, I see.
thanks --xingchao
Takashi
So I thought it should be part of the patchset. Anyway it's a more general fix not only for Haswell,
so better to leave it alone.
I will split it from the patchset in next version.
Thanks --xingchao
Takashi
sound/pci/hda/hda_intel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 54c7c22..f20a88c 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -3755,7 +3755,7 @@ static int azx_probe(struct pci_dev *pci, goto out_free_power; }
- if (pci_dev_run_wake(pci))
if (chip->driver_caps & AZX_DCAPS_PM_RUNTIME) pm_runtime_put_noidle(&pci->dev);
dev++;
@@ -3834,7 +3834,7 @@ static void azx_remove(struct pci_dev *pci) struct snd_card *card = pci_get_drvdata(pci); struct azx *chip = card->private_data;
- if (pci_dev_run_wake(pci))
if (chip->driver_caps & AZX_DCAPS_PM_RUNTIME) pm_runtime_get_noresume(&pci->dev);
if (card)
-- 1.8.1.2