Subject: Re: kern/33326: azalia driver is broken in 3.0_STABLE
To: None <gnats-bugs@netbsd.org>
From: Uwe Klaus <uklaus@hgb-leipzig.de>
List: netbsd-bugs
Date: 05/10/2006 11:06:34
On Wed, 10 May 2006, TAMURA Kent wrote:

> Thanks.  Would you test the following patch?
>
> Index: azalia_codec.c
> ===================================================================
> RCS file: /cvsroot/src/sys/dev/pci/azalia_codec.c,v
> retrieving revision 1.7
> diff -u -r1.7 azalia_codec.c
> --- azalia_codec.c      16 Jan 2006 14:28:38 -0000      1.7
> +++ azalia_codec.c      9 May 2006 02:21:37 -0000
> @@ -344,11 +344,10 @@
>         this->dacgroups[0] = dacs[0];
>         this->dacgroups[1] = dacs[1];
>
> -       this->nadcs = 4;
> -       this->adcs[0] = 0x07;
> -       this->adcs[1] = 0x08;
> -       this->adcs[2] = 0x09;
> -       this->adcs[3] = 0x0a;   /* digital */
> +       this->nadcs = 3;
> +       this->adcs[0] = 0x08;
> +       this->adcs[1] = 0x09;
> +       this->adcs[2] = 0x0a;   /* digital */
>         return 0;
>  }

Yes, the patch solved the problem. Below the debug message.
Thank you very much.

Best regards,
U. Klaus

---------------------------
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 16 (irq 11)
azalia0: host: 82801FB/FR High Definition Audio Controller (rev. 3)
azalia0: host: High Definition Audio rev. 1.0
azalia0: host: 4 output, 4 input, and 0 bidi streams
azalia_attach: resetting
azalia_attach: reset counter = 5000
azalia_attach: reset counter = 4984
azalia0: found a codec at #2
....
azalia_init_corb: CORB allocation succeeded.
azalia_init_corb: CORBWP=0; size=256
azalia_init_rirb: RIRB allocation succeeded.
azalia_init_rirb: RIRBRP=0, size=256
azalia0: information of codec[2] follows:
azalia0: codec: Realtek ALC880 (rev. 0.0)
azalia0: codec: High Definition Audio rev. 0.9
azalia_codec_init: nidstart=1 #functions=1
azalia_codec_init: FTYPE result = 0x00000001
azalia_codec_init: There are 32 widgets in the audio function.
 	encodings=1<PCM>
 	PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
 	inamp: mute=0 size=0 steps=0 offset=0
 	outamp: mute=0 size=0 steps=0 offset=0
azalia0: dac02 wcap=411<POWER,FORMATOV,STEREO>
 	encodings=1<PCM>
 	PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
azalia0: dac03 wcap=411<POWER,FORMATOV,STEREO>
 	encodings=1<PCM>
 	PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
azalia0: dac04 wcap=411<POWER,FORMATOV,STEREO>
 	encodings=1<PCM>
 	PCM formats=e0160<24bit,20bit,16bit,96kHz,48kHz,44.1kHz>
azalia0: dac05 wcap=411<POWER,FORMATOV,STEREO>
 	encodings=1<PCM>
 	PCM formats=e0160<24bit,20bit,16bit,96kHz,48kHz,44.1kHz>
azalia0: dac06 wcap=211<DIGITAL,FORMATOV,STEREO>
 	encodings=1<PCM>
 	PCM formats=1e0160<32bit,24bit,20bit,16bit,96kHz,48kHz,44.1kHz>
azalia0: widget07 wcap=f0051b<POWER,CONNLIST,FORMATOV,AMPOV,INAMP,STEREO>
 	inamp: mute=1 size=3 steps=35 offset=0
azalia0: adc08 wcap=10051b<POWER,CONNLIST,FORMATOV,AMPOV,INAMP,STEREO>
 	encodings=1<PCM>
 	PCM formats=60160<20bit,16bit,96kHz,48kHz,44.1kHz>
azalia_widget_init_connection: CLE=0x7
azalia_widget_init_connection: short[0]=0x1b1a1918
azalia_widget_init_connection: short[4]=0x15141c
 	connections=0x18,0x19,0x1a,0x1b,0x1c,0x14,0x15; selected=0x1a
 	inamp: mute=1 size=3 steps=35 offset=0
azalia0: adc09 wcap=10051b<POWER,CONNLIST,FORMATOV,AMPOV,INAMP,STEREO>
 	encodings=1<PCM>
 	PCM formats=60160<20bit,16bit,96kHz,48kHz,44.1kHz>
azalia_widget_init_connection: CLE=0xa
azalia_widget_init_connection: short[0]=0x1b1a1918
azalia_widget_init_connection: short[4]=0x15140b1c
azalia_widget_init_connection: short[8]=0x1716
 	connections=0x18,0x19,0x1a,0x1b,0x1c,0xb,0x14,0x15,0x16,0x17; selected=0x1c
 	inamp: mute=1 size=3 steps=35 offset=0
azalia0: adc0a wcap=100391<DIGITAL,CONNLIST,UNSOL,FORMATOV,STEREO>
 	encodings=1<PCM>
 	PCM formats=1e0160<32bit,24bit,20bit,16bit,96kHz,48kHz,44.1kHz>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0x1f
 	connections=0x1f; selected=0x1f
azalia0: mix0b wcap=20010b<CONNLIST,AMPOV,INAMP,STEREO>
azalia_widget_init_connection: CLE=0x8
azalia_widget_init_connection: short[0]=0x1b1a1918
azalia_widget_init_connection: short[4]=0x15141d1c
 	connections=0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x14,0x15; selected=0x18
 	inamp: mute=1 size=3 steps=65 offset=35
azalia0: mix0c wcap=20010f<CONNLIST,AMPOV,OUTAMP,INAMP,STEREO>
azalia_widget_init_connection: CLE=0x2
azalia_widget_init_connection: short[0]=0xb02
 	connections=0x2,0xb; selected=0x2
 	inamp: mute=1 size=0 steps=0 offset=0
 	outamp: mute=0 size=3 steps=64 offset=64
azalia0: mix0d wcap=20010f<CONNLIST,AMPOV,OUTAMP,INAMP,STEREO>
azalia_widget_init_connection: CLE=0x2
azalia_widget_init_connection: short[0]=0xb03
 	connections=0x3,0xb; selected=0x3
 	inamp: mute=1 size=0 steps=0 offset=0
 	outamp: mute=0 size=3 steps=64 offset=64
azalia0: mix0e wcap=20010f<CONNLIST,AMPOV,OUTAMP,INAMP,STEREO>
azalia_widget_init_connection: CLE=0x2
azalia_widget_init_connection: short[0]=0xb04
 	connections=0x4,0xb; selected=0x4
 	inamp: mute=1 size=0 steps=0 offset=0
 	outamp: mute=0 size=3 steps=64 offset=64
azalia0: mix0f wcap=20010f<CONNLIST,AMPOV,OUTAMP,INAMP,STEREO>
azalia_widget_init_connection: CLE=0x2
azalia_widget_init_connection: short[0]=0xb05
 	connections=0x5,0xb; selected=0x5
 	inamp: mute=1 size=0 steps=0 offset=0
 	outamp: mute=0 size=3 steps=64 offset=64
azalia0: sel10 wcap=300101<CONNLIST,STEREO>
azalia_widget_init_connection: CLE=0x4
azalia_widget_init_connection: short[0]=0xf0e0d0c
 	connections=0xc,0xd,0xe,0xf; selected=0xc
azalia0: sel11 wcap=300101<CONNLIST,STEREO>
azalia_widget_init_connection: CLE=0x4
azalia_widget_init_connection: short[0]=0xf0e0d0c
 	connections=0xc,0xd,0xe,0xf; selected=0xc
azalia0: sel12 wcap=300101<CONNLIST,STEREO>
azalia_widget_init_connection: CLE=0x4
azalia_widget_init_connection: short[0]=0xf0e0d0c
 	connections=0xc,0xd,0xe,0xf; selected=0xc
azalia0: sel13 wcap=300101<CONNLIST,STEREO>
azalia_widget_init_connection: CLE=0x4
azalia_widget_init_connection: short[0]=0xf0e0d0c
 	connections=0xc,0xd,0xe,0xf; selected=0xc
azalia0: green14 wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=line-out color=green assoc=1 seq=0 cap=3f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0xc
 	connections=0xc; selected=0xc
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: black15 wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=speaker color=black assoc=15 seq=0 cap=3f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0xd
 	connections=0xd; selected=0xd
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: black16 wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=speaker color=black assoc=15 seq=0 cap=3f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0xe
 	connections=0xe; selected=0xe
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: black17 wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=speaker color=black assoc=15 seq=0 cap=3f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: pink18 wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=mic color=pink assoc=3 seq=0 cap=133f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0x10
 	connections=0x10; selected=0x10
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: green19 wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=headphones color=green assoc=2 seq=0 cap=133f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0x11
 	connections=0x11; selected=0x11
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: blue1a wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=line-in color=blue assoc=3 seq=1 cap=133f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0x12
 	connections=0x12; selected=0x12
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: pink1b wcap=40018d<CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
 	pin config; device=mic color=pink assoc=4 seq=0 cap=133f<INPUT,OUTPUT,HEADPHONE,PRESENCE,TRIGGER,IMPEDANCE>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0x13
 	connections=0x13; selected=0x13
 	outamp: mute=1 size=0 steps=0 offset=0
azalia0: black1c wcap=400001<STEREO>
 	pin config; device=speaker color=black assoc=15 seq=0 cap=20<INPUT>
azalia0: black1d wcap=400000
 	pin config; device=other color=black assoc=3 seq=2 cap=20<INPUT>
azalia0: black1e wcap=400300<DIGITAL,CONNLIST>
 	pin config; device=speaker color=black assoc=15 seq=0 cap=10<OUTPUT>
azalia_widget_init_connection: CLE=0x1
azalia_widget_init_connection: short[0]=0x6
 	connections=0x6; selected=0x6
azalia0: black1f wcap=400200<DIGITAL>
 	pin config; device=speaker color=black assoc=15 seq=0 cap=20<INPUT>
azalia0: widget20 wcap=f00040<PROC>
azalia0: volume21 wcap=600080<UNSOL>
 	delta=0 steps=64
azalia_codec_init: dacgroup[0]: 02 04 03 05
azalia_codec_init: dacgroup[1]: 06
azalia0: playback: encodings=1<PCM>
azalia0: playback: PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
azalia0: playback: max channels=8
azalia0: recording: encodings=1<PCM>
azalia0: recording: PCM formats=60160<20bit,16bit,96kHz,48kHz,44.1kHz>
azalia0: recording: max channels=2
azalia_mixer_init: register classes
azalia_mixer_init: input mute widget07
azalia_mixer_init: input gain widget07
azalia_mixer_init: selector adc08
azalia_mixer_init: selector 0=pink18
azalia_mixer_init: selector 1=green19
azalia_mixer_init: selector 2=blue1a
azalia_mixer_init: selector 3=pink1b
azalia_mixer_init: selector 4=black1c
azalia_mixer_init: selector 5=green14
azalia_mixer_init: selector 6=black15
azalia_mixer_init: input mute adc08
azalia_mixer_init: input mute adc08.pink18
azalia_mixer_init: input mute adc08.green19
azalia_mixer_init: input mute adc08.blue1a
azalia_mixer_init: input mute adc08.pink1b
azalia_mixer_init: input mute adc08.black1c
azalia_mixer_init: input mute adc08.green14
azalia_mixer_init: input mute adc08.black15
azalia_mixer_init: input gain adc08
azalia_mixer_init: input gain adc08.pink18
azalia_mixer_init: input gain adc08.green19
azalia_mixer_init: input gain adc08.blue1a
azalia_mixer_init: input gain adc08.pink1b
azalia_mixer_init: input gain adc08.black1c
azalia_mixer_init: input gain adc08.green14
azalia_mixer_init: input gain adc08.black15
azalia_mixer_init: selector adc09
azalia_mixer_init: selector 0=pink18
azalia_mixer_init: selector 1=green19
azalia_mixer_init: selector 2=blue1a
azalia_mixer_init: selector 3=pink1b
azalia_mixer_init: selector 4=black1c
azalia_mixer_init: selector 5=mix0b
azalia_mixer_init: selector 6=green14
azalia_mixer_init: selector 7=black15
azalia_mixer_init: selector 8=black16
azalia_mixer_init: selector 9=black17
azalia_mixer_init: input mute adc09
azalia_mixer_init: input mute adc09.pink18
azalia_mixer_init: input mute adc09.green19
azalia_mixer_init: input mute adc09.blue1a
azalia_mixer_init: input mute adc09.pink1b
azalia_mixer_init: input mute adc09.black1c
azalia_mixer_init: input mute adc09.mix0b
azalia_mixer_init: input mute adc09.green14
azalia_mixer_init: input mute adc09.black15
azalia_mixer_init: input mute adc09.black16
azalia_mixer_init: input mute adc09.black17
azalia_mixer_init: input gain adc09
azalia_mixer_init: input gain adc09.pink18
azalia_mixer_init: input gain adc09.green19
azalia_mixer_init: input gain adc09.blue1a
azalia_mixer_init: input gain adc09.pink1b
azalia_mixer_init: input gain adc09.black1c
azalia_mixer_init: input gain adc09.mix0b
azalia_mixer_init: input gain adc09.green14
azalia_mixer_init: input gain adc09.black15
azalia_mixer_init: input gain adc09.black16
azalia_mixer_init: input gain adc09.black17
azalia_mixer_init: input mute mix0b
azalia_mixer_init: input mute mix0b.pink18
azalia_mixer_init: input mute mix0b.green19
azalia_mixer_init: input mute mix0b.blue1a
azalia_mixer_init: input mute mix0b.pink1b
azalia_mixer_init: input mute mix0b.black1c
azalia_mixer_init: input mute mix0b.black1d
azalia_mixer_init: input mute mix0b.green14
azalia_mixer_init: input mute mix0b.black15
azalia_mixer_init: input gain mix0b
azalia_mixer_init: input gain mix0b.pink18
azalia_mixer_init: input gain mix0b.green19
azalia_mixer_init: input gain mix0b.blue1a
azalia_mixer_init: input gain mix0b.pink1b
azalia_mixer_init: input gain mix0b.black1c
azalia_mixer_init: input gain mix0b.black1d
azalia_mixer_init: input gain mix0b.green14
azalia_mixer_init: input gain mix0b.black15
azalia_mixer_init: output gain mix0c
azalia_mixer_init: input mute mix0c
azalia_mixer_init: input mute mix0c.dac02
azalia_mixer_init: input mute mix0c.mix0b
azalia_mixer_init: output gain mix0d
azalia_mixer_init: input mute mix0d
azalia_mixer_init: input mute mix0d.dac03
azalia_mixer_init: input mute mix0d.mix0b
azalia_mixer_init: output gain mix0e
azalia_mixer_init: input mute mix0e
azalia_mixer_init: input mute mix0e.dac04
azalia_mixer_init: input mute mix0e.mix0b
azalia_mixer_init: output gain mix0f
azalia_mixer_init: input mute mix0f
azalia_mixer_init: input mute mix0f.dac05
azalia_mixer_init: input mute mix0f.mix0b
azalia_mixer_init: selector sel10
azalia_mixer_init: selector 0=mix0c
azalia_mixer_init: selector 1=mix0d
azalia_mixer_init: selector 2=mix0e
azalia_mixer_init: selector 3=mix0f
azalia_mixer_init: selector sel11
azalia_mixer_init: selector 0=mix0c
azalia_mixer_init: selector 1=mix0d
azalia_mixer_init: selector 2=mix0e
azalia_mixer_init: selector 3=mix0f
azalia_mixer_init: selector sel12
azalia_mixer_init: selector 0=mix0c
azalia_mixer_init: selector 1=mix0d
azalia_mixer_init: selector 2=mix0e
azalia_mixer_init: selector 3=mix0f
azalia_mixer_init: selector sel13
azalia_mixer_init: selector 0=mix0c
azalia_mixer_init: selector 1=mix0d
azalia_mixer_init: selector 2=mix0e
azalia_mixer_init: selector 3=mix0f
azalia_mixer_init: output mute green14
azalia_mixer_init: pin dir green14
azalia_mixer_init: hpboost green14
azalia_mixer_init: output mute black15
azalia_mixer_init: pin dir black15
azalia_mixer_init: hpboost black15
azalia_mixer_init: output mute black16
azalia_mixer_init: pin dir black16
azalia_mixer_init: hpboost black16
azalia_mixer_init: output mute black17
azalia_mixer_init: pin dir black17
azalia_mixer_init: hpboost black17
azalia_mixer_init: output mute pink18
azalia_mixer_init: pin dir pink18
azalia_mixer_init: hpboost pink18
azalia_mixer_init: output mute green19
azalia_mixer_init: pin dir green19
azalia_mixer_init: hpboost green19
azalia_mixer_init: output mute blue1a
azalia_mixer_init: pin dir blue1a
azalia_mixer_init: hpboost blue1a
azalia_mixer_init: output mute pink1b
azalia_mixer_init: pin dir pink1b
azalia_mixer_init: hpboost pink1b
azalia_mixer_init: create inputs.usingdac
azalia_mixer_init: create inputs.usingadc
azalia_mixer_init: unmute
azalia_mixer_init: process bidirectional pins
azalia_mixer_init: set volume
azalia0: using the #0 codec
audio0 at azalia0: full duplex, independent
azalia_round_blocksize: resultant block size = 9600
azalia_round_blocksize: resultant block size = 9600