diff options
author | Ondrej Zary <linux@rainbow-software.org> | 2014-04-02 16:35:33 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-04-03 09:00:15 -0400 |
commit | d272ccd0d084766a3e2adba10bea47091b6d68e7 (patch) | |
tree | 40d421b70396b1bad9aa738e83b22a3609288eaf /sound | |
parent | 9229bc1500100226ef4d2dbe51446fd8472a3cea (diff) |
ALSA: ice1712: Add S/PDIF suspend support for ICE1712-based M-Audio cards
Add S/PDIF suspend support for M-Audio cards based on ICE1712 chip.
Tested (playback only) on Audiophile 24/96. Capture will probably not work.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/ice1712/delta.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sound/pci/ice1712/delta.c b/sound/pci/ice1712/delta.c index ed2144eee38a..b3eed8d6bfc5 100644 --- a/sound/pci/ice1712/delta.c +++ b/sound/pci/ice1712/delta.c | |||
@@ -580,6 +580,28 @@ static struct snd_ak4xxx_private akm_vx442_priv = { | |||
580 | static int snd_ice1712_delta_resume(struct snd_ice1712 *ice) | 580 | static int snd_ice1712_delta_resume(struct snd_ice1712 *ice) |
581 | { | 581 | { |
582 | unsigned char akm_backup[AK4XXX_IMAGE_SIZE]; | 582 | unsigned char akm_backup[AK4XXX_IMAGE_SIZE]; |
583 | |||
584 | /* init spdif */ | ||
585 | switch (ice->eeprom.subvendor) { | ||
586 | case ICE1712_SUBDEVICE_AUDIOPHILE: | ||
587 | case ICE1712_SUBDEVICE_DELTA410: | ||
588 | case ICE1712_SUBDEVICE_DELTA1010E: | ||
589 | case ICE1712_SUBDEVICE_DELTA1010LT: | ||
590 | case ICE1712_SUBDEVICE_VX442: | ||
591 | case ICE1712_SUBDEVICE_DELTA66E: | ||
592 | snd_cs8427_init(ice->i2c, ice->cs8427); | ||
593 | break; | ||
594 | case ICE1712_SUBDEVICE_DELTA1010: | ||
595 | case ICE1712_SUBDEVICE_MEDIASTATION: | ||
596 | /* nothing */ | ||
597 | break; | ||
598 | case ICE1712_SUBDEVICE_DELTADIO2496: | ||
599 | case ICE1712_SUBDEVICE_DELTA66: | ||
600 | /* Set spdif defaults */ | ||
601 | snd_ice1712_delta_cs8403_spdif_write(ice, ice->spdif.cs8403_bits); | ||
602 | break; | ||
603 | } | ||
604 | |||
583 | /* init codec and restore registers */ | 605 | /* init codec and restore registers */ |
584 | if (ice->akm_codecs) { | 606 | if (ice->akm_codecs) { |
585 | memcpy(akm_backup, ice->akm->images, sizeof(akm_backup)); | 607 | memcpy(akm_backup, ice->akm->images, sizeof(akm_backup)); |