Subject: Re: kern/32473: GUS PnP audio device seem to be broken in NetBSD 3.0
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Ben Collver <collver@peak.org>
List: netbsd-bugs
Date: 04/15/2006 05:20:01
The following reply was made to PR kern/32473; it has been noted by GNATS.

From: Ben Collver <collver@peak.org>
To: "Mike M. Volokhov" <mishka@intostroy.com>
Cc: gnats-bugs@netbsd.org, zb@ispid.com.pl
Subject: Re: kern/32473: GUS PnP audio device seem to be broken in NetBSD 3.0
Date: Fri, 14 Apr 2006 22:17:39 -0700

 Hi Mishka,
 
 Thanks for the help.  I was able to get audio working in NetBSD 1.6.2,
 so something in the 2.0 release must be at fault.
 
 I decided to give debugging information for the 3.0 release, since that
 is what the PR is filed against.
 
 The kernel fails when I enable the GUSPLAYDEBUG option.  If I read
 correctly, that option is enabled already by the AUDIO_DEBUG option, so
 I just commented out #options GUSPLAYDEBUG.
 
 The panic, backtrace, and dmesg are included in this email.
 
 Cheers,
 
 Ben
 
 
 Here is the panic output and backtrace, hand-transcribed:
 
 audio_open: flags=0x2 sc=0xc0a8f800 hdl=0xc0a8d400
 audiosetinfo: sc=0xc0a8f800 ai=0xc4bacc34
 audiosetinfo: filter setup is completed.
 audio_initbufs: mode=0x5
 audio_init_ringbuffer: MI blksize=400
 audio_init_ringbuffer: final blksize=400
 audio_init_ringbuffer: MI blksize=400
 audio_init_ringbuffer: final blksize=400
 _isa_dmastart: drq 5, addr 0xc4264000, nbytes 0xfeb0, p 0x0, flags 0x4,
  dmaflags 0x1
 isa0: dma start on free channel 5
 panic: _isa_dmastart
 stopped in pid 511.1 (audioplay) at netbsd:cpu_Debugger+0x4
 db> tr
 cpu_Debugger(c4bac910,5,c4bac8fc,5,feb0) at netbsd:cpu_Debugger+0x4
 panic(c075b4f6,c0a3041c,5,1,c0874be0) at netbsd:panic+0x11d
 _isa_dmastart(c0878a40,5,c4264000,feb0,0) at netbsd:_isa_dmastart+0x9b
 iw_init_output(c0a8d400,c4264000,feb0,c4264000,0) at netbsd:iw_init_output+0x29
 audio_initbufs(c0a8f800,c073fdbd,c4baca54,34,0) at
  netbsd:audio_initbufs+0x82
 audiosetinfo(c084800,c4bacc34,88,220,1ff) at netbsd:audiosetinfo+0x6d5
 audio_open(0,c0a8f800,2,2000,c4d34008) at netbsd:audio_open+0x100
 audioopen(2a00,2,2000,c4d34008,c4c96348) at netbsd:auioopen+0xa3
 spec_open(c4bacd94,1,6,0,c0620780) at netbsd:spec_open+0xfb
 VOP_OPEN(c4c96348,2,c41a00fc,c4d34008,0) at netbsd:VOP_OPEN+0x34
 vn_open(c4baceb4,2,de1,c41aba50,c08728a0) at netbsd:vn_open+0x30e
 sys_open(c41aba50,c4bacf64,c4bacf5c,0,c5bacfa4) at netbsd:sys_open+0xc7
 syscall_plain() at netbsd:syscall_plain+0x18f
 --- syscall (number 5) ---
 0xbdb47007
 
 
 Here is the dmesg:
 
 
 NetBSD 3.0 (GUSDED) #0: Fri Apr 14 15:09:10 PDT 2006
 	ben@sanctum:/home/ben/work/3.0/i386/obj/sys/arch/i386/compile/GUSDED
 total memory = 32380 KB
 avail memory = 23192 KB
 BIOS32 rev. 0 found at 0xfd960
 mainbus0 (root)
 cpu0 at mainbus0: (uniprocessor)
 cpu0: Intel Pentium (P54C) (586-class), 132.96 MHz, id 0x52c
 cpu0: features 1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
 pci0 at mainbus0 bus 0: configuration mode 1
 pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
 pchb0 at pci0 dev 0 function 0
 pchb0: Intel 82437VX (TVX) System Controller (rev. 0x02)
 pcib0 at pci0 dev 7 function 0
 pcib0: Intel 82371SB (PIIX3) PCI-ISA Bridge (rev. 0x01)
 piixide0 at pci0 dev 7 function 1
 piixide0: Intel 82371SB IDE Interface (PIIX3) (rev. 0x00)
 piixide0: bus-master DMA support present
 piixide0: primary channel wired to compatibility mode
 piixide0: primary channel interrupting at irq 14
 atabus0 at piixide0 channel 0
 piixide0: secondary channel wired to compatibility mode
 piixide0: secondary channel interrupting at irq 15
 atabus1 at piixide0 channel 1
 S3 Trio32/64 (VGA display, revision 0x44) at pci0 dev 8 function 0 not configured
 vga1 at pci0 dev 13 function 0: Nvidia & SGS-Thomson Microelectronics Riva 128 (rev. 0x10)
 wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
 wsmux1: connecting to wsdisplay0
 ohci0 at pci0 dev 14 function 0: Opti 82C861 (rev. 0x10)
 ohci0: interrupting at irq 11
 ohci0: OHCI version 1.0, legacy support
 usb0 at ohci0: USB revision 1.0
 uhub0 at usb0
 uhub0: Opti OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 isa0 at pcib0
 wss probe kludge
 lpt0 at isa0 port 0x378-0x37b irq 7
 com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
 pckbc0 at isa0 port 0x60-0x64
 pckbd0 at pckbc0 (kbd slot)
 pckbc0: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard, using wsdisplay0
 pms0 at pckbc0 (aux slot)
 pckbc0: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pcppi0 at isa0 port 0x61
 midi0 at pcppi0: PC speaker
 sysbeep0 at pcppi0
 isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
 npx0 at isa0 port 0xf0-0xff: using exception 16
 fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
 isapnp0: Trying port 203isapnp0: read port 0x203
 PnP version 1.0, Vendor version 1.0
 ANSI Ident: Gravis Ultrasound Plug'n'Pray
 Logical device id GRV0000
 ANSI Ident: WSS & GUS EMU
 >>> Start dependent function config: preferred
 IRQ's supported: 7 E+
 IRQ's supported: 5 E+
 DRQ's supported: 7 Width: 8-bit Speed: compat Attributes: bus master incr 8 
 DRQ's supported: 5 Width: 8-bit Speed: compat Attributes: bus master incr 8 
 16 IO Ports: 16 address bits, alignment 1 min 0x220, max 0x220
 8 IO Ports: 16 address bits, alignment 1 min 0x320, max 0x320
 4 IO Ports: 16 address bits, alignment 1 min 0x32c, max 0x32c
 >> Start dependent function config: preferred
 1 IO Ports: 16 address bits, alignment 1 min 0x201, max 0x201
  config: preferred
 16 IO Ports: 16 address bits, alignment 1 min 0x220, max 0x220
 8 IO Ports: 16 address bits, alignment 1 min 0x320, max 0x320
 4 IO Ports: 16 address bits, alignment 1 min 0x32c, max 0x32c
 IRQ's supported: 7 E+
 IRQ's supported: 5 E+
 DRQ's supported: 7 Width: 8-bit Speed: compat Attributes: bus master incr 8 
 DRQ's supported: 5 Width: 8-bit Speed: compat Attributes: bus master incr 8 
 Register configuration:
 io[0]: 0x220/0
 io[1]: 0x320/0
 io[2]: 0x32c/0
 irq[0]: 7
 irq[1]: 5
 drq[0]: 7
 drq[1]: 5
 isapnp0: configuring <Gravis Ultrasound Plug'n'Pray, GRV0000, , WSS & GUS EMU>
 guspnp0 at isapnp0 port 0x220/16,0x320/8,0x32c/4 irq 7,5 drq 7,5
 Found <Gravis Ultrasound Plug'n'Pray, GRV0000, , WSS & GUS EMU> config: preferred
 16 IO Ports: 16 address bits, alignment 1 min 0x220, max 0x220
 8 IO Ports: 16 address bits, alignment 1 min 0x320, max 0x320
 4 IO Ports: 16 address bits, alignment 1 min 0x32c, max 0x32c
 IRQ's supported: 7 E+
 IRQ's supported: 5 E+
 DRQ's supported: 7 Width: 8-bit Speed: compat Attributes: bus master incr 8 
 DRQ's supported: 5 Width: 8-bit Speed: compat Attributes: bus master incr 8 
 guspnp0: Gravis Ultrasound Plug'n'Pray WSS & GUS EMU
 guspnp0: bank[0]: 1024K, bank[1]: 1024K, bank[2]: 0K, bank[3]: 0K
 guspnp0: interwave version 1.26
 audioprobe: type=0 sa=0xc094e900 hw=0xc07038e0
 audio0 at guspnp0: full duplex, mmap
 audiosetinfo sc=0xc0a8f800 ai=0xc094e410
 audiosetinfo() Setting record params: enc=1 1ch 8/8bit 8000Hz
 audiosetinfo() Setting play params: enc=1 1ch 8/8bit 8000Hz
 audio_setup_pfilters: HW-buffer=0xc0a8fa40 pustream=0xc0a8f8a0
 [0] enc=1 1ch 8/8bit 8000Hz
 [HW] enc=8 1ch 8/8bit 8000Hz
 audio_setup_rfilters: HW-buffer=0xc0a8faa4 pustream=0xc0a8faa4
 [HW] enc=1 1ch 8/8bit 8000Hz
 audiosetinfo: filter setup is completed.
 audio_calc_blksize: record blksize=400
 audio_calc_blksize: play blksize=400
 audio_initbufs: mode=0x0
 audio_init_ringbuffer: MI blksize=400
 audio_init_ringbuffer: final blksize=400
 audio_init_ringbuffer: MI blksize=400
 audio_init_ringbuffer: final blksize=400
 audio_calcwater: plow=49152 phigh=65536 rlow=0 rhigh=64800
 audio_attach: inputs ports=0x3, input master=6, output ports=0x0, output master=-1
 Found <Gravis Ultrasound Plug'n'Pray, GRV0011, , Disabled[IDE Co> config: acceptable
 Register configuration:
 isapnp0: configuring <Gravis Ultrasound Plug'n'Pray, GRV0011, , Disabled[IDE Co>
 isapnp0: <Gravis Ultrasound Plug'n'Pray, GRV0011, , Disabled[IDE Co> not configured
 Found <Gravis Ultrasound Plug'n'Pray, PNPB02F, , Game Port> config: preferred
 1 IO Ports: 16 address bits, alignment 1 min 0x201, max 0x201
 Register configuration:
 io[0]: 0x201/0
 isapnp0: configuring <Gravis Ultrasound Plug'n'Pray, PNPB02F, , Game Port>
 joy0 at isapnp0 port 0x201/1
 Found <Gravis Ultrasound Plug'n'Pray, PNPB02F, , Game Port> config: preferred
 1 IO Ports: 16 address bits, alignment 1 min 0x201, max 0x201
 joy0: Gravis Ultrasound Plug'n'Pray Game Port
 joy0: joystick not connected
 Found <Gravis Ultrasound Plug'n'Pray, GRV0013, , Disabled[SB & O> config: acceptable
 Register configuration:
 isapnp0: configuring <Gravis Ultrasound Plug'n'Pray, GRV0013, , Disabled[SB & O>
 isapnp0: <Gravis Ultrasound Plug'n'Pray, GRV0013, , Disabled[SB & O> not configured
 Found <Gravis Ultrasound Plug'n'Pray, GRV0014, , Disabled[GM EMU> config: acceptable
 Register configuration:
 isapnp0: configuring <Gravis Ultrasound Plug'n'Pray, GRV0014, , Disabled[GM EMU>
 isapnp0: <Gravis Ultrasound Plug'n'Pray, GRV0014, , Disabled[GM EMU> not configured
 fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
 raidattach: Asked for 8 units
 Kernelized RAIDframe activated
 wd0 at atabus0 drive 0: <SAMSUNG WN321620A (2.16 GB)>
 wd0: drive supports 16-sector PIO transfers, LBA addressing
 wd0: 2060 MB, 4186 cyl, 16 head, 63 sec, 512 bytes/sect x 4219488 sectors
 wd0: 32-bit data port
 wd0: drive supports PIO mode 4, DMA mode 2
 wd0(piixide0:0:0): using PIO mode 4, DMA mode 2 (using DMA)
 atapibus0 at atabus1: 2 targets
 cd0 at atapibus0 drive 0: <TOSHIBA CD-ROM XM-6202B, b\221\311\373\000, 1110> cdrom removable
 cd0: 32-bit data port
 cd0: drive supports PIO mode 4, DMA mode 2
 cd0(piixide0:1:0): using PIO mode 4, DMA mode 2 (using DMA)
 Searching for RAID components...
 boot device: wd0
 root on wd0a dumps on wd0b
 mountroot: trying smbfs...
 mountroot: trying coda...
 mountroot: trying msdos...
 mountroot: trying cd9660...
 mountroot: trying ntfs...
 mountroot: trying nfs...
 mountroot: trying lfs...
 mountroot: trying ext2fs...
 mountroot: trying ffs...
 root file system type: ffs
 init: copying out path `/sbin/init' 11
 wsdisplay0: screen 1 added (80x25, vt100 emulation)
 wsdisplay0: screen 2 added (80x25, vt100 emulation)
 wsdisplay0: screen 3 added (80x25, vt100 emulation)
 wsdisplay0: screen 4 added (80x25, vt100 emulation)