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

Reply via email to