Dear Takashi Iwai, Thursday, February 20, 2003, 12:08:57 PM, you wrote:
>> Now i made tests with last cvs for 4 channel too : >> VIA8235 + ALC650 >> 0x6a.14=0 : 4ch - OK; 5.1 - swaped >> 0x6a.14=1 : 4ch - swaped; 5.1 - OK >> >> As you see - setting bit 14 of 0x6a reg is not an option. >> >> We need to apply following patch again. =) >> >> @@ -919,8 +920,8 @@ >> case 2: slots = (1<<0) | (2<<4); break; >> case 3: slots = (1<<0) | (2<<4) | (5<<8); break; >> case 4: slots = (1<<0) | (2<<4) | (3<<8) | (4<<12); break; >> - case 5: slots = (1<<0) | (2<<4) | (5<<8) | (3<<12) | (4<<16); break; >> - case 6: slots = (1<<0) | (2<<4) | (5<<8) | (6<<12) | (3<<16) | (4<<20); >> break; >> + case 5: slots = (1<<0) | (2<<4) | (3<<8) | (4<<12) | (5<<16); break; >> + case 6: slots = (1<<0) | (2<<4) | (3<<8) | (4<<12) | (5<<16) | (6<<20); >> break; >> default: slots = 0; break; >> } >> /* STOP index is never reached */ TI> ok. i'll take the change back again. Playback in alsa applications now is GOOD. =) simultaneous multiple streams - OK 5.1ch - OK Only in some games working with oss-emulation sound is still bad (tux-racer, ut, heroes3) >> All working fine with this for VIA8235 + ALC650 >> It does not affect on VIA8233A as you remembered. =) >> What chip combination is working wrong with this ? TI> no idea. i hope both via8233 and 8233c follow to the same rule. I suggest to add ALC650 specific control for 0x6a.14 "Slot Modify" (see my patch). I think this will make a life of future testers a little bit easy. There is also small fix (i think) for ac97_patch.c in my patch. I found that "Exchange Center/LFE" is not working on my hardware. After changing bit 0x6a.3 by snd_ac97_write_cache() it still has 0 value. All other controls for 0x6a register works fine ( "Duplicate Front", "Mic As Center/LFE", "Line-In As Surround", "Center/LFE Down Mix", "Surround Down Mix" and my new "Slot Modify" ). I think that bit 0x6a.3 can not be set on my combination of hardware. Is it possible ? Or just another software bug ? Sincerely yours Anton Worshevsky
slotcontrol.diff
Description: Binary data