On Tuesday 03 December 2002 16:24, Friedrich Ewaldt wrote: > Hi Benny,
w00t! it seems that volumes 0-0x7fff ramp up volumes, then 8000-ffff go back down... but with opposite phases. So... --- alsa-cvs/alsa-driver-0.9.0rc6cvs20021202/alsa-kernel/pci/cs46xx/dsp_spos.h 2002-11-24 19:52:17.000000000 -0600 +++ modules/alsa-driver/alsa-kernel/pci/cs46xx/dsp_spos.h 2002-12-03 17:27:10.000000000 -0600 @@ -215,7 +215,7 @@ static inline void cs46xx_dsp_scb_set_volume (cs46xx_t * chip,dsp_scb_descriptor_t * scb, u16 left,u16 right) { - unsigned int val = ((0xffff - left) << 16 | (0xffff - right)); + unsigned int val = (left << 16 | (0xffff - right)); snd_cs46xx_poke(chip, (scb->address + SCBVolumeCtrl) << 2, val); snd_cs46xx_poke(chip, (scb->address + SCBVolumeCtrl + 1) << 2, val); and it sounds correct (for CD analog passthru and PCM at least). (note - you'll need to open alsamixer and adjust the DAC volume before the 'fix' works, I haven't found where it gets programmed on driver load. Now, I have no idea if this is correct, if I just broke SPDIF (no reciever), rear speakers (ditto, I don't have any) but it fixes my case anyway, so that's a start. If anyone can test more of these cases, that might be good. Throwing it out before I head out here for a few hours, in the hope that it will cause some insight :-) ------------------------------------------------------- This SF.net email is sponsored by: Microsoft Visual Studio.NET comprehensive development tool, built to increase your productivity. Try a free online hosted session at: http://ads.sourceforge.net/cgi-bin/redirect.pl?micr0003en _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel