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 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? 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 at alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >