Subject: Re: kern/33326: azalia driver is broken in 3.0_STABLE
To: None <kent@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Uwe Klaus <uklaus@hgb-leipzig.de>
List: netbsd-bugs
Date: 05/10/2006 09:10:03
The following reply was made to PR kern/33326; it has been noted by GNATS.
From: Uwe Klaus <uklaus@hgb-leipzig.de>
To: gnats-bugs@netbsd.org
Cc: kent@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/33326: azalia driver is broken in 3.0_STABLE
Date: Wed, 10 May 2006 11:06:34 +0200 (CEST)
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