aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorOndrej Zary <linux@rainbow-software.org>2014-04-02 16:35:33 -0400
committerTakashi Iwai <tiwai@suse.de>2014-04-03 09:00:15 -0400
commitd272ccd0d084766a3e2adba10bea47091b6d68e7 (patch)
tree40d421b70396b1bad9aa738e83b22a3609288eaf /sound
parent9229bc1500100226ef4d2dbe51446fd8472a3cea (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.c22
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 = {
580static int snd_ice1712_delta_resume(struct snd_ice1712 *ice) 580static 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));