I have :-
Card: Intel ICH5
Chip: Avance Logic ALC650 rev 0

The problem I was having was that the spdif "non-audio" bit was not being set.
This patch fixes that problem.


Cheers
James
--- ac97_codec.c.org    2003-08-14 14:19:29.834681728 +0100
+++ ac97_codec.c        2003-08-14 16:11:39.736581128 +0100
@@ -823,7 +825,13 @@
                                               AC97_CXR_SPDIF_MASK | AC97_CXR_COPYRGT,
                                               v);
        } else {
+               unsigned short extst = ac97->regs[AC97_EXTENDED_STATUS];
+               snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS, AC97_EA_SPDIF, 0); /* 
turn off */
+
                change |= snd_ac97_update_bits(ac97, AC97_SPDIF, 0x3fff, val);
+               if (extst & AC97_EA_SPDIF) {
+                       snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS, 
AC97_EA_SPDIF, AC97_EA_SPDIF); /* turn on again */
+                }
        }
 
        return change;

Reply via email to