Oleg Well done on working out a working fix for this problem and apologies for not answering the email you sent earlier. It was one of several lost in the inbox overflow whilst the recipient was busy elsewhere. I'm also going to be offline until until July 7th and won't be able to provide any further input for a little while.
There are some comments inline below that may help. - Orion Oleg Sharoiko writes: | | There is a small problem with this patch: AC97_MIXEXT_SURROUND has | seprate mute bits for right and left channels and I don't see how | can they be implemented in FreeBSD. The gain setting method would need to check for whether the register was the AC97_MIXEXT_SURROUND and have a specific piece of code to deal with this case. | I'd like to get to the roots of this problem and this is where I | need some help. If I understood everything correctly than it happens | so that the sound somehow goes to surround dac. The question that I | cannot answer: why it goes to surround dac? Unfortunately I don't | have via8235 spec. Myabe data are being put into wrong timeslots? The driver was written from the VT8233 spec under NDA. The driver sets the AC97 slots for the multichannel register set - these are set with the macros SLOT3 and SLOT4. There are no documented registers for assigning the regular stereo playback channels to different slots. The behaviour you are describing would be partially explained if channel spreading were enabled in the codec (2 channels spread to 6). This can be manually and automatically enabled (AD1980 rev 0 specs pages 25 and 27). Since the AD1980 is an ac97 2.3 codec and these codecs do jack sense detection, it's probably worth checking out the ac97 2.3 spec and writing some code to find out what the jack sense registers report as attached. _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"