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 at 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? > 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