ASoC: Intel: Skylake: Don't enable WAKEENABLE on suspend
authorJeeja KP <jeeja.kp@intel.com>
Fri, 13 Nov 2015 13:52:06 +0000 (19:22 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 18 Nov 2015 18:46:36 +0000 (18:46 +0000)
For HDA codecs WAKEENABLE bit is to programmed if codec event
change has to wake the system when suspended.

In skylake I2S systems which are currently supported we have
only HDMI codec, which doesn't use this capability to detect a
HDMI connect/ disconnect event. HDMI HDA codec uses display
interface to detect connect/disconnect event.

This patch removes the WAKEBIT enabling during device D0/D3 as
this seems to cause spurious wakes on the system

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl.c

index 8ead864f354a7737d53ada5132ea5d36769ae234..bdb99dcbfdcaa114b7bd976942cb611ed50b0d1f 100644 (file)
@@ -191,9 +191,6 @@ static int skl_runtime_suspend(struct device *dev)
 
        dev_dbg(bus->dev, "in %s\n", __func__);
 
-       /* enable controller wake up event */
-       snd_hdac_chip_updatew(bus, WAKEEN, 0, STATESTS_INT_MASK);
-
        return _skl_suspend(ebus);
 }
 
@@ -203,17 +200,11 @@ static int skl_runtime_resume(struct device *dev)
        struct hdac_ext_bus *ebus = pci_get_drvdata(pci);
        struct hdac_bus *bus = ebus_to_hbus(ebus);
        struct skl *skl = ebus_to_skl(ebus);
-       int status;
 
        dev_dbg(bus->dev, "in %s\n", __func__);
 
-       /* Read STATESTS before controller reset */
-       status = snd_hdac_chip_readw(bus, STATESTS);
-
        skl_init_pci(skl);
        snd_hdac_bus_init_chip(bus, true);
-       /* disable controller Wake Up event */
-       snd_hdac_chip_updatew(bus, WAKEEN, STATESTS_INT_MASK, 0);
 
        return _skl_resume(ebus);
 }