Subject: kern/8352: WSS driver not working properly on Dell Inspiron 3500 laptop
To: None <gnats-bugs@gnats.netbsd.org>
From: Jason R. Thorpe <thorpej@dr-evil.shagadelic.org>
List: netbsd-bugs
Date: 09/09/1999 11:44:01
>Number:         8352
>Category:       kern
>Synopsis:       WSS driver not working properly on Dell Inspiron 3500 laptop
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Sep  9 11:35:08 1999
>Last-Modified:
>Originator:     Jason R. Thorpe
>Organization:
Heather's and Jason's groovy digs, baby.
>Release:        Sept. 7, 1999, NetBSD 1.4K
>Environment:
System: NetBSD dr-evil 1.4K NetBSD 1.4K (DR-EVIL) #161: Tue Sep 7 21:34:44 PDT 1999 thorpej@dr-evil:/u1/netbsd/src/sys/arch/i386/compile/DR-EVIL i386


>Description:
	At some point (I'm not sure when), the WSS driver stopped working
	on my Dell Inspiron 3500 laptop.  When I first got the system a
	few months ago, it worked fine (once I realized the WSS registers
	were not in exactly the same place the stock kernel config files
	expect).

	It definitely worked on June 27th; that day I installed mpg123
	and gqmpeg and listened to a few mp3 files.  I also used to listen
	to NPR news quite regularly using a Linux RealPlayer binary.

	However, audio no longer works properly.  It sounds like the first
	block gets played, and again, and again, and again, and again.

	No configuration options changed, that I am aware of.  The kernel
	is configured for the same IRQs and DRQs that the WSS is configured
	for (via the BIOS setup utility).  When this happens, the following
	is displayed on the console:

ad1848_commit: Auto calibration timed out
ad1848_commit: Auto calibration timed out
ad1848_commit: Auto calibration timed out
ad1848_commit: Auto calibration timed out

	At first I thought it was a case of unbounded loops (i.e. no
	delay() call inside a loop that's supposed to wait for up-to-
	some-period-of-time).  However, inserting delay() calls in all
	of these loops produced the same results.

	The audio hardware is attached by the kernel as follows:

...
Neomagic MagicMedia 256AV Audio (audio multimedia, revision 0x20) at pci1 dev 0 function 1 not configured
[ just for reference ... ]
...
opl0 at isa0 port 0x388-0x38b: model OPL3
midi0 at opl0: <Yamaha OPL3>
...
wss0 at isa0 port 0x530-0x537 irq 5 drq 0 drq2 1: CS4231 or AD1845
audio0 at wss0: full duplex
...

	The hardware is capable of emulating the WSS, SoundBlaster,
	and AdLib (that's the opl).

	I'm using the WSS attachment because of the wider range of
	capabilities it provides.

>How-To-Repeat:
	Try to play audio on the above hardware.

>Fix:
	Unknown.
>Audit-Trail:
>Unformatted: