[alsa-devel] [PATCH 2/2] snd-ice1712: Add S/PDIF suspend support for ICE1712-based M-Audio cards

Ondrej Zary linux at rainbow-software.org
Wed Apr 2 22:35:33 CEST 2014


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 at rainbow-software.org>
---
 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 c19ae72..3764a27 100644
--- a/sound/pci/ice1712/delta.c
+++ b/sound/pci/ice1712/delta.c
@@ -579,6 +579,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));
-- 
Ondrej Zary



More information about the Alsa-devel mailing list