> >David Xu wrote: >| >| I tried to backout ac97.c revision 1.43, now my sound card works again, >| If someone wants more information, please tell me. > >David > >Could you revert to head and check that the mixer "ogain" is non-zero >(say 100 :-)? On some codecs "ogain" provides the traditional >functionality of "vol". I appreciate this is not ideal. > >Thanks >- Orion
I found that reading AC97_MIX_AUXOUT register in ac97_fix_auxout() has side effect on my sound card, although it has 0x8000 bit set, it might be a driver bug or hw bug. The following patch avoids the problem, but is a bit ugly. :-( David Xu Index: ac97.c =================================================================== RCS file: /home/ncvs/src/sys/dev/sound/pcm/ac97.c,v retrieving revision 1.46 diff -u -r1.46 ac97.c --- ac97.c 29 Aug 2003 03:24:08 -0000 1.46 +++ ac97.c 29 Aug 2003 14:28:03 -0000 @@ -454,7 +454,12 @@ * We first check whether aux_out is a valid register. If not * we may not want to keep ogain. */ - keep_ogain = ac97_rdcd(codec, AC97_MIX_AUXOUT) & 0x8000; + + /* Creative EV1938 codec read has side effect ? */ + if (codec->id == 0x1408384) + keep_ogain = 1; + else + keep_ogain = ac97_rdcd(codec, AC97_MIX_AUXOUT) & 0x8000; /* * Determine what AUX_OUT really means, it can be: _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"