At Fri, 16 Apr 2004 15:25:42 +0800, R CHAN wrote: > > Hi, recent Alsa changes (ac97_patch.c) seem to have broken my > ALC655 ac97 codec on via82xx. The breakage happened around 2.6.5. > > Specifically, I can no longer set > > Mic As Center/LFE control > > Unlike Line-In As Surround it is now reported > as a volume control with Mono values from 0-0. > Can't set that bit at all.
try the attached patch. > Secondly, I can't get 5.1 sound at all - though > duplicate front does work. doesn't 'aplay -Dsurroun51 some-6ch-sample.wav' work? Takashi
Index: alsa-kernel/pci/ac97/ac97_codec.c =================================================================== RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/ac97/ac97_codec.c,v retrieving revision 1.117 diff -u -r1.117 ac97_codec.c --- alsa-kernel/pci/ac97/ac97_codec.c 14 Apr 2004 17:23:52 -0000 1.117 +++ alsa-kernel/pci/ac97/ac97_codec.c 16 Apr 2004 14:28:38 -0000 @@ -880,7 +880,7 @@ .info = snd_ac97_info_single, .get = snd_ac97_get_single, .put = snd_ac97_put_spsa, - .private_value = AC97_EXTENDED_STATUS | (4 << 8) | (3 << 16) | (0 << 24), + .private_value = AC97_SINGLE_VALUE(AC97_EXTENDED_STATUS, 4, 3, 0) }, }; Index: alsa-kernel/pci/ac97/ac97_local.h =================================================================== RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/ac97/ac97_local.h,v retrieving revision 1.4 diff -u -r1.4 ac97_local.h --- alsa-kernel/pci/ac97/ac97_local.h 23 Oct 2003 17:00:15 -0000 1.4 +++ alsa-kernel/pci/ac97/ac97_local.h 16 Apr 2004 14:24:56 -0000 @@ -22,10 +22,11 @@ * */ +#define AC97_SINGLE_VALUE(reg,shift,mask,invert) ((reg) | ((shift) << 8) | ((mask) << 16) | ((invert) << 24)) #define AC97_SINGLE(xname, reg, shift, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_info_single, \ .get = snd_ac97_get_single, .put = snd_ac97_put_single, \ - .private_value = (reg) | ((shift) << 8) | ((mask) << 16) | ((invert) << 24) } + .private_value = AC97_SINGLE_VALUE(reg, shift, mask, invert) } /* ac97_codec.c */ extern const char *snd_ac97_stereo_enhancements[]; Index: alsa-kernel/pci/ac97/ac97_patch.c =================================================================== RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/ac97/ac97_patch.c,v retrieving revision 1.43 diff -u -r1.43 ac97_patch.c --- alsa-kernel/pci/ac97/ac97_patch.c 7 Apr 2004 10:03:31 -0000 1.43 +++ alsa-kernel/pci/ac97/ac97_patch.c 16 Apr 2004 14:26:27 -0000 @@ -1090,6 +1090,7 @@ .info = snd_ac97_info_single, .get = snd_ac97_alc650_mic_get, .put = snd_ac97_alc650_mic_put, + .private_value = AC97_SINGLE_VALUE(0, 0, 1, 0) /* only mask needed */ }, }; @@ -1190,6 +1191,7 @@ .info = snd_ac97_info_single, .get = snd_ac97_alc655_mic_get, .put = snd_ac97_alc655_mic_put, + .private_value = AC97_SINGLE_VALUE(0, 0, 1, 0) /* only mask needed */ }, };