D:2003/08/14 17:05:13
A:Takashi Iwai <tiwai@suse.de>
F:pci/ac97/ac97_codec.c:1.100->1.101
L:fix by James Courtier-Dutton <James@superbug.demon.co.uk>:
L:
L:Fixes ac3 passthru non-audio bit setting for AC97 codecs.
L:
L:I have :-
L:Card: Intel ICH5
L:Chip: Avance Logic ALC650 rev 0
L:
L:The problem I was having was that the spdif non-audio bit was not
L:being set.
L:This patch fixes that problem.
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;