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

Wang, Xingchao xingchao.wang at intel.com
Thu May 23 09:53:00 CEST 2013


Hi Takashi,

> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Thursday, May 23, 2013 2:03 PM
> To: Wang Xingchao
> Cc: daniel at ffwll.ch; alsa-devel at alsa-project.org;
> intel-gfx at lists.freedesktop.org; david.henningsson at 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 at 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. 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
> >


More information about the Alsa-devel mailing list