android_kernel_samsung_msm8976/sound
Xiong Zhang 4b98be841c ALSA: hda - Set SKL+ hda controller power at freeze() and thaw()
commit 3e6db33aaf1d42a30339f831ec4850570d6cc7a3 upstream.

It takes three minutes to enter into hibernation on some OEM SKL
machines and we see many codec spurious response after thaw() opertion.
This is because HDA is still in D0 state after freeze() call and
pci_pm_freeze/pci_pm_freeze_noirq() don't set D3 hot in pci_bus driver.
It seems bios still access HDA when system enter into freeze state,
HDA will receive codec response interrupt immediately after thaw() call.
Because of this unexpected interrupt, HDA enter into a abnormal
state and slow down the system enter into hibernation.

In this patch, we put HDA into D3 hot state in azx_freeze_noirq() and
put HDA into D0 state in azx_thaw_noirq().

V2: Only apply this fix to SKL+
    Fix compile error when CONFIG_PM_SLEEP isn't defined

[Yet another fix for CONFIG_PM_SLEEP ifdef and the additional comment
 by tiwai]

Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-01-28 21:49:29 -08:00
..
aoa ALSA: snd-aoa: Add a layout entry for PowerBook6,5 2013-05-16 07:19:01 +02:00
arm ASoC: fix broken pxa SoC support 2015-10-22 14:37:50 -07:00
atmel ALSA: atmel: Remove redundant platform_set_drvdata() 2013-05-03 11:40:23 +02:00
core ALSA: control: Add sanity checks for user ctl id name string 2015-03-26 15:00:58 +01:00
drivers ALSA: pcm_format_to_bits strong-typed conversion 2013-04-29 13:36:15 +02:00
firewire
i2c ALSA: ak411x: Fix stall in work callback 2015-02-11 14:48:17 +08:00
isa ALSA: msnd: Avoid duplicated driver name 2013-11-29 11:11:45 -08:00
mips ALSA: mips/sgio2audio: Remove redundant platform_set_drvdata() 2013-05-06 10:45:54 +02:00
oss sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) 2015-05-17 09:51:33 -07:00
parisc
pci ALSA: hda - Set SKL+ hda controller power at freeze() and thaw() 2016-01-28 21:49:29 -08:00
pcmcia sound/pcmcia: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:26:39 -07:00
ppc
sh
soc ASoC: dwc: correct irq clear method 2015-10-22 14:37:50 -07:00
sparc
spi ALSA: at73c213: Use dev_pm_ops 2013-04-11 11:58:12 +02:00
synth ALSA: synth: Fix conflicting OSS device registration on AWE32 2015-10-22 14:37:50 -07:00
usb ALSA: usb-audio: work around CH345 input SysEx corruption 2015-12-09 13:40:11 -05:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c ALSA: add/change some comments describing function return values 2013-03-12 08:32:53 +01:00
sound_firmware.c sound_firmware: don't bother with filp_close() 2013-04-09 15:16:32 -04:00