From d272ccd0d084766a3e2adba10bea47091b6d68e7 Mon Sep 17 00:00:00 2001 From: Ondrej Zary Date: Wed, 2 Apr 2014 22:35:33 +0200 Subject: 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 Signed-off-by: Takashi Iwai --- sound/pci/ice1712/delta.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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 = { static int snd_ice1712_delta_resume(struct snd_ice1712 *ice) { unsigned char akm_backup[AK4XXX_IMAGE_SIZE]; + + /* init spdif */ + switch (ice->eeprom.subvendor) { + case ICE1712_SUBDEVICE_AUDIOPHILE: + case ICE1712_SUBDEVICE_DELTA410: + case ICE1712_SUBDEVICE_DELTA1010E: + case ICE1712_SUBDEVICE_DELTA1010LT: + case ICE1712_SUBDEVICE_VX442: + case ICE1712_SUBDEVICE_DELTA66E: + snd_cs8427_init(ice->i2c, ice->cs8427); + break; + case ICE1712_SUBDEVICE_DELTA1010: + case ICE1712_SUBDEVICE_MEDIASTATION: + /* nothing */ + break; + case ICE1712_SUBDEVICE_DELTADIO2496: + case ICE1712_SUBDEVICE_DELTA66: + /* Set spdif defaults */ + snd_ice1712_delta_cs8403_spdif_write(ice, ice->spdif.cs8403_bits); + break; + } + /* init codec and restore registers */ if (ice->akm_codecs) { memcpy(akm_backup, ice->akm->images, sizeof(akm_backup)); -- cgit