[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