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