ASoC: Intel: Skylake: Fix to turn OFF codec power when entering S3

Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Subhransu S. Prusty 2016-04-01 13:36:27 +05:30 committed by Mark Brown
parent 4f329d9fba
commit af03741262
1 changed files with 13 additions and 2 deletions

View File

@ -222,6 +222,7 @@ static int skl_suspend(struct device *dev)
struct hdac_ext_bus *ebus = pci_get_drvdata(pci); struct hdac_ext_bus *ebus = pci_get_drvdata(pci);
struct skl *skl = ebus_to_skl(ebus); struct skl *skl = ebus_to_skl(ebus);
struct hdac_bus *bus = ebus_to_hbus(ebus); struct hdac_bus *bus = ebus_to_hbus(ebus);
int ret = 0;
/* /*
* Do not suspend if streams which are marked ignore suspend are * Do not suspend if streams which are marked ignore suspend are
@ -232,10 +233,20 @@ static int skl_suspend(struct device *dev)
enable_irq_wake(bus->irq); enable_irq_wake(bus->irq);
pci_save_state(pci); pci_save_state(pci);
pci_disable_device(pci); pci_disable_device(pci);
return 0;
} else { } else {
return _skl_suspend(ebus); ret = _skl_suspend(ebus);
if (ret < 0)
return ret;
} }
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
ret = snd_hdac_display_power(bus, false);
if (ret < 0)
dev_err(bus->dev,
"Cannot turn OFF display power on i915\n");
}
return ret;
} }
static int skl_resume(struct device *dev) static int skl_resume(struct device *dev)