At Thu, 23 May 2013 14:34:09 +0200, David Henningsson wrote:
On 05/22/2013 07:04 PM, 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
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)
I'm not sure, but shouldn't this be
if (pci_dev_run_wake(pci) || (chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
...in order not to regress power performance of devices which have pci_dev_run_wake(pci) but not runtime PM?
If driver_caps isn't set, azx_runtime_idle() returns -EBUSY, i.e. essentially the runtime PM is disabled in that case.
Takashi
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)
-- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel