summaryrefslogtreecommitdiffstats
path: root/sound/pci/fm801.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2015-12-21 18:09:56 +0100
committerTakashi Iwai <tiwai@suse.de>2015-12-21 19:53:52 +0100
commitcb41f271d01b7c985ab47ea26fdef531a6237561 (patch)
tree8f067eaa29f2f3b16ab5280afacfc6146d83866e /sound/pci/fm801.c
parentALSA: fm801: save context before suspend devices (diff)
downloadlinux-cb41f271d01b7c985ab47ea26fdef531a6237561.tar.xz
linux-cb41f271d01b7c985ab47ea26fdef531a6237561.zip
ALSA: fm801: restore TEA575x state on resume
The suspend / resume cycle resets the settings of the FM tuner. Restore frequency settings on resume. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/fm801.c')
-rw-r--r--sound/pci/fm801.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c
index 0b1ae6c684c1..161925b6518e 100644
--- a/sound/pci/fm801.c
+++ b/sound/pci/fm801.c
@@ -1427,6 +1427,11 @@ static int snd_fm801_resume(struct device *dev)
for (i = 0; i < ARRAY_SIZE(saved_regs); i++)
fm801_iowrite16(chip, saved_regs[i], chip->saved_regs[i]);
+#ifdef CONFIG_SND_FM801_TEA575X_BOOL
+ if (!(chip->tea575x_tuner & TUNER_DISABLED))
+ snd_tea575x_set_freq(&chip->tea);
+#endif
+
snd_power_change_state(card, SNDRV_CTL_POWER_D0);
return 0;
}