[alsa-devel] [PATCH 3/4] ALSA: hda - Fix runtime PM check
David Henningsson
david.henningsson at canonical.com
Thu May 23 14:34:09 CEST 2013
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
More information about the Alsa-devel
mailing list