All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-10  9:14 VIA 8233A Takashi Iwai
@ 2003-02-18  4:43 ` Anton Worshevsky
  2003-02-18 17:03   ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Anton Worshevsky @ 2003-02-18  4:43 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: p z oooo, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 1827 bytes --]

Dear Takashi Iwai,

Monday, February 10, 2003, 12:14:59 PM, you wrote:

>> When I changed VIA_REV_8233A to TYPE_VIA8233A my onboard soundcard
>> (VIA8233A + ALC650) works (2 channel, 4 cannel).
>>
>> 5.1 has problem - swaped channels. (LF, RF, Center - OK, LS - Woofer,
>> RS - LS, Woofer - RS.

TI> which program are you using?

TI> please check the ac97 register 0x6a in /proc/asound/card0/ac97#0regs
TI> and whether the bits 30-31 (zero-based) are off.

Do you mean bit 14-15 ?

As i posted before, i have similar channel swapping with VIA8235 + ALC650.
If bits 14-15 (slot modify) set to 0 - channels has incorrect placement.
It can be fixed by exchanging Rear and Center/LFE jacks.
When i set bit 14 to 1 - OK
Surely via8235 transmit multi-channel data in AC-Link in 3,4,6,9,7,8 order,
instead of 3,4,7,8,6,9 as specified in AC97.
I switch codec to 3,4,6,9,7,8 mode by setting bit 14 with following patch
in attachment for ac97_patch.c.


Other option is to apply may old patch to via82xx.c like this:

812,813c812,815
<       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) | (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;

We can't do this if there are any positive reports for 5.1 playback on via82xx.


May be better to create a new ALC650 specific mixer switch for bit 14 of 0x6a register ?
By this way we can solve all such future problems too.


Please commit one of this solutions to cvs.

Sincerely yours

Anton Worshevsky

[-- Attachment #2: ac97_patch.c.diff --]
[-- Type: application/octet-stream, Size: 519 bytes --]

--- /usr/src/alsa/ac97_patch.c	2003-01-28 14:35:53.000000000 +0300
+++ /usr/src/alsa/alsa-20030210/alsa-kernel/pci/ac97/ac97_patch.c	2003-02-10 07:26:45.000000000 +0300
@@ -365,7 +365,8 @@
 		ac97->ext_id &= ~AC97_EI_SPDIF; /* disable extended-id */
 
 	val = snd_ac97_read(ac97, AC97_ALC650_MULTICH);
-	val &= ~0xc000; /* slot: 3,4,7,8,6,9 */
+	// val &= ~0xc000; /* slot: 3,4,7,8,6,9 */
+	val |= 0x4000; /* slot: 3,4,6,9,7,8 */
 	snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, val | 0x03);
 
 	/* full DAC volume */

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-18  4:43 ` VIA 8233A, 8235 with ALC650 codec Anton Worshevsky
@ 2003-02-18 17:03   ` Takashi Iwai
  2003-02-20  2:51     ` Anton Worshevsky
  0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2003-02-18 17:03 UTC (permalink / raw)
  To: Anton Worshevsky; +Cc: alsa-devel

At Tue, 18 Feb 2003 07:43:26 +0300,
Anton Worshevsky wrote:
> 
> Dear Takashi Iwai,
> 
> Monday, February 10, 2003, 12:14:59 PM, you wrote:
> 
> >> When I changed VIA_REV_8233A to TYPE_VIA8233A my onboard soundcard
> >> (VIA8233A + ALC650) works (2 channel, 4 cannel).
> >>
> >> 5.1 has problem - swaped channels. (LF, RF, Center - OK, LS - Woofer,
> >> RS - LS, Woofer - RS.
> 
> TI> which program are you using?
> 
> TI> please check the ac97 register 0x6a in /proc/asound/card0/ac97#0regs
> TI> and whether the bits 30-31 (zero-based) are off.
> 
> Do you mean bit 14-15 ?

yep :)

> As i posted before, i have similar channel swapping with VIA8235 + ALC650.
> If bits 14-15 (slot modify) set to 0 - channels has incorrect placement.
> It can be fixed by exchanging Rear and Center/LFE jacks.
> When i set bit 14 to 1 - OK
> Surely via8235 transmit multi-channel data in AC-Link in 3,4,6,9,7,8 order,
> instead of 3,4,7,8,6,9 as specified in AC97.
> I switch codec to 3,4,6,9,7,8 mode by setting bit 14 with following patch
> in attachment for ac97_patch.c.

well, then your investigation may be correct.  i have also no
datasheet regarding this.
i'll ask VIA guys whether the correct order is 3/4/6/9/7/8 or
3/4/7/8/6/9.


ciao,

Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
@ 2003-02-19  6:51 p z oooo
  2003-02-19  9:22 ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: p z oooo @ 2003-02-19  6:51 UTC (permalink / raw)
  To: alsa-devel

I played with 8233A ALC650 and:

1) this part of code is not working:

switch (runtime->channels) {
	case 1: slots = (1<<0) | (1<<4); break;
	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;
	default: slots = 0; break;
	}
	/* STOP index is never reached */
	outl(0xff000000 | slots, VIADEV_REG(viadev, 
OFFSET_STOP_IDX)); 

I think that 8233A uses this slots mapping and this can't be changed 
with previous code. I changed 
case 6: slots = (1<<0) | (2<<4) | (5<<8) | (6<<12) | (3<<16) | 
(4<<20); break;
to
case 6: slots = (1<<0) | (2<<4) | (3<<8) | (4<<12) | (5<<16) | 
(6<<20); break;
and this doesn't work (no change).

channels slots
1 - 3, 4
2 - 3, 4
4 - 3, 4, 7, 8
6 - 3, 4, 6, 9, 7, 8


Peter Zubaj

====================== REKLAMA =================================
Vyrazne zlavy pocitacov a prislusenstva
Toshiba Pocket PC e740 v cench u? od 24.300,- Sk bez DPH
Navstivte nas na adrese http://www.somi.sk/akcie.php
================================================================



-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-19  6:51 VIA 8233A, 8235 with ALC650 codec p z oooo
@ 2003-02-19  9:22 ` Takashi Iwai
       [not found]   ` <000d01c2d7fb$4f521de0$8601a8c0@ZUBAJPNEW>
  0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2003-02-19  9:22 UTC (permalink / raw)
  To: p z oooo; +Cc: alsa-devel

At Wed, 19 Feb 2003 07:51:56 +0100,
p z oooo wrote:
> 
> I played with 8233A ALC650 and:
> 
> 1) this part of code is not working:
> 
> switch (runtime->channels) {
> 	case 1: slots = (1<<0) | (1<<4); break;
> 	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;
> 	default: slots = 0; break;
> 	}
> 	/* STOP index is never reached */
> 	outl(0xff000000 | slots, VIADEV_REG(viadev, 
> OFFSET_STOP_IDX)); 
> 
> I think that 8233A uses this slots mapping and this can't be changed 
> with previous code. I changed 
> case 6: slots = (1<<0) | (2<<4) | (5<<8) | (6<<12) | (3<<16) | 
> (4<<20); break;
> to
> case 6: slots = (1<<0) | (2<<4) | (3<<8) | (4<<12) | (5<<16) | 
> (6<<20); break;
> and this doesn't work (no change).
> 
> channels slots
> 1 - 3, 4
> 2 - 3, 4
> 4 - 3, 4, 7, 8
> 6 - 3, 4, 6, 9, 7, 8

ok, i changed it on cvs.

thanks!


Takashi


-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
       [not found]   ` <000d01c2d7fb$4f521de0$8601a8c0@ZUBAJPNEW>
@ 2003-02-19 10:04     ` Takashi Iwai
  0 siblings, 0 replies; 11+ messages in thread
From: Takashi Iwai @ 2003-02-19 10:04 UTC (permalink / raw)
  To: Peter Zubaj, Ing; +Cc: alsa-devel

At Wed, 19 Feb 2003 10:43:07 +0100,
Peter Zubaj, Ing <peter.zubaj@hour.sk> wrote:
> 
> Wait. My english is bad.
> 
> Do not change slots mapping.
> Code from rc7 works good for 8233, 8233C and 8235 and I think is good.
> I want say, that it seems, that 8233A can not change slots
> mapping(outl(0xff000000 | slots, VIADEV_REG(viadev,
> > OFFSET_STOP_IDX));). <- not working

ah, ok.
that's true.  i forgot this, too.
these bits doesn't affect to VIA8233A.

> I think, that this is default mapping for via8233A:
> channels slots
> 1 - 3, 4 (L, R)
> 2 - 3, 4 (L, R)
> 4 - 3, 4, 7, 8 (L, R, SL, SR)
> 6 - 3, 4, 6, 9, 7, 8 (L, R, C, W, SL, SR)
> 
> Code from rc7:
> playing mono, stereo, 4 channel - ok
> 6 - channel - swapped rear channels with center, lfe.
> 
> sollution:
> 1,2,4 channels - ac97 (ALC650) register 0x6a bits 30-31 = 0
> 6 channels - ac97 (ALC650) register 0x6a bits 30-31 = 1

hmm, perhaps this is the easiest way (although it's not beautiful :)


Takashi


-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-18 17:03   ` Takashi Iwai
@ 2003-02-20  2:51     ` Anton Worshevsky
  2003-02-20  9:08       ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Anton Worshevsky @ 2003-02-20  2:51 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: p z oooo, alsa-devel

Dear Takashi Iwai,

Tuesday, February 18, 2003, 8:03:56 PM, you wrote:

TI> At Tue, 18 Feb 2003 07:43:26 +0300,
TI> Anton Worshevsky wrote:
>>
>> >> When I changed VIA_REV_8233A to TYPE_VIA8233A my onboard soundcard
>> >> (VIA8233A + ALC650) works (2 channel, 4 cannel).
>> >> 5.1 has problem - swaped channels. (LF, RF, Center - OK, LS - Woofer,
>> >> RS - LS, Woofer - RS.
>>
>> As i posted before, i have similar channel swapping with VIA8235 + ALC650.
>> If bits 14-15 (slot modify) set to 0 - channels has incorrect placement.
>> It can be fixed by exchanging Rear and Center/LFE jacks.
>> When i set bit 14 to 1 - OK
>> Surely via8235 transmit multi-channel data in AC-Link in 3,4,6,9,7,8 order,
>> instead of 3,4,7,8,6,9 as specified in AC97.
>> I switch codec to 3,4,6,9,7,8 mode by setting bit 14 with following patch
>> in attachment for ac97_patch.c.

TI> well, then your investigation may be correct.  i have also no
TI> datasheet regarding this.
TI> i'll ask VIA guys whether the correct order is 3/4/6/9/7/8 or
TI> 3/4/7/8/6/9.

There are following slot assignments accordantly AC97 spec. v2.2 and v.2.3
LF/RF/LR/RR/C/LFE -- 3/4/7/8/6/9

In this ALC650 data sheet
http://www.realtek.com.tw/downloads/downloads1-3.aspx?refdesign=True&compamodel=ALC650
there are next:
LF/RF/LR/RR/C/LFE -- 3/4/7/8/6/9 if 0x6a.14=0 (default)
LF/RF/LR/RR/C/LFE -- 3/4/6/9/7/8 if 0x6a.14=1

As i see on VIA website, there is no via82xx spec freely available.
I don't understand their position in this question.

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 */

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 ?
It's much better solution for via8235, than

if (runtime->channels > 4)
    val = 0x4000;
else
    val = 0;
snd_ac97_update_bits(chip->ac97, AC97_ALC650_MULTICH, 0xc000, val);

Sincerely yours

Anton Worshevsky




-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
@ 2003-02-20  6:19 p z oooo
  2003-02-20  9:06 ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: p z oooo @ 2003-02-20  6:19 UTC (permalink / raw)
  To: gbdj; +Cc: alsa-devel, tiwai

I tink, there is still small bug (I think) - via82xx.c

else
   /* slot mapping: 3,4,6,9,7,8 */
   val = 0x4000; 
   snd_ac97_update_bits(chip->ac97, AC97_ALC650_MULTICH, 0xc000, val);

is this correct ???
val = 0x4000; (I think, that there should be 0xc000)

try change this

Peter Zubaj

____________________________________
P. S. V. P. U.
http://www.pobox.sk/




-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-20  6:19 p z oooo
@ 2003-02-20  9:06 ` Takashi Iwai
  0 siblings, 0 replies; 11+ messages in thread
From: Takashi Iwai @ 2003-02-20  9:06 UTC (permalink / raw)
  To: p z oooo; +Cc: alsa-devel

At Thu, 20 Feb 2003 07:19:03 +0100,
p z oooo wrote:
> 
> I tink, there is still small bug (I think) - via82xx.c
> 
> else
>    /* slot mapping: 3,4,6,9,7,8 */
>    val = 0x4000; 
>    snd_ac97_update_bits(chip->ac97, AC97_ALC650_MULTICH, 0xc000, val);
> 
> is this correct ???
> val = 0x4000; (I think, that there should be 0xc000)

0xc000 is the mask and 0x4000 is the bit to set.
the bit 15 seems no meaning, so it should be ok.


Takashi


-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-20  2:51     ` Anton Worshevsky
@ 2003-02-20  9:08       ` Takashi Iwai
  2003-02-23 21:50         ` Anton Worshevsky
  0 siblings, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2003-02-20  9:08 UTC (permalink / raw)
  To: Anton Worshevsky; +Cc: alsa-devel

At Thu, 20 Feb 2003 05:51:01 +0300,
Anton Worshevsky 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 */

ok.  i'll take the change back again.

> 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 ?

no idea.  i hope both via8233 and 8233c follow to the same rule.


thanks,

Takashi


-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-20  9:08       ` Takashi Iwai
@ 2003-02-23 21:50         ` Anton Worshevsky
  2003-02-25 17:00           ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Anton Worshevsky @ 2003-02-23 21:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 2131 bytes --]

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

[-- Attachment #2: slotcontrol.diff --]
[-- Type: application/octet-stream, Size: 1309 bytes --]

diff -u -r control-build/alsa-kernel/pci/ac97/ac97_codec.c alsa-20030223/alsa-kernel/pci/ac97/ac97_codec.c
--- control-build/alsa-kernel/pci/ac97/ac97_codec.c	2003-02-20 14:00:39.000000000 +0300
+++ alsa-20030223/alsa-kernel/pci/ac97/ac97_codec.c	2003-02-23 23:31:36.000000000 +0300
@@ -1081,6 +1081,7 @@
 	/* 8: reserved */
 	AC97_SINGLE("Line-In As Surround", AC97_ALC650_MULTICH, 9, 1, 0),
 	AC97_SINGLE("Mic As Center/LFE", AC97_ALC650_MULTICH, 10, 1, 0),
+	AC97_SINGLE("Slot Modify", AC97_ALC650_MULTICH, 14, 1, 0),
 #if 0 /* always set in patch_alc650 */
 	AC97_SINGLE("IEC958 Input Clock Enable", AC97_ALC650_CLOCK, 0, 1, 0),
 	AC97_SINGLE("IEC958 Input Pin Enable", AC97_ALC650_CLOCK, 1, 1, 0),
diff -u -r control-build/alsa-kernel/pci/ac97/ac97_patch.c alsa-20030223/alsa-kernel/pci/ac97/ac97_patch.c
--- control-build/alsa-kernel/pci/ac97/ac97_patch.c	2003-01-28 14:35:53.000000000 +0300
+++ alsa-20030223/alsa-kernel/pci/ac97/ac97_patch.c	2003-02-23 23:27:30.000000000 +0300
@@ -366,7 +366,7 @@
 
 	val = snd_ac97_read(ac97, AC97_ALC650_MULTICH);
 	val &= ~0xc000; /* slot: 3,4,7,8,6,9 */
-	snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, val | 0x03);
+	snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, val);
 
 	/* full DAC volume */
 	snd_ac97_write_cache(ac97, AC97_ALC650_SURR_DAC_VOL, 0x0808);

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: VIA 8233A, 8235 with ALC650 codec
  2003-02-23 21:50         ` Anton Worshevsky
@ 2003-02-25 17:00           ` Takashi Iwai
  0 siblings, 0 replies; 11+ messages in thread
From: Takashi Iwai @ 2003-02-25 17:00 UTC (permalink / raw)
  To: Anton Worshevsky; +Cc: alsa-devel

At Mon, 24 Feb 2003 00:50:27 +0300,
Anton Worshevsky wrote:
> 
> >> 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.

that would be nice.  applied a similar patch to the cvs.


> 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 ?

i believe it's a hardware bug (or feature).


Takashi


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2003-02-25 17:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-19  6:51 VIA 8233A, 8235 with ALC650 codec p z oooo
2003-02-19  9:22 ` Takashi Iwai
     [not found]   ` <000d01c2d7fb$4f521de0$8601a8c0@ZUBAJPNEW>
2003-02-19 10:04     ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2003-02-20  6:19 p z oooo
2003-02-20  9:06 ` Takashi Iwai
2003-02-10  9:14 VIA 8233A Takashi Iwai
2003-02-18  4:43 ` VIA 8233A, 8235 with ALC650 codec Anton Worshevsky
2003-02-18 17:03   ` Takashi Iwai
2003-02-20  2:51     ` Anton Worshevsky
2003-02-20  9:08       ` Takashi Iwai
2003-02-23 21:50         ` Anton Worshevsky
2003-02-25 17:00           ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.