[alsa-devel] [PATCH 3/4] ALSA: hda - Fix runtime PM check

Takashi Iwai tiwai at suse.de
Thu May 23 14:39:36 CEST 2013


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
> 


More information about the Alsa-devel mailing list