Subject: audio confusion
To: None <current-users@netbsd.org>
From: Johan Danielsson <joda@pdc.kth.se>
List: current-users
Date: 02/10/1999 20:35:38
Hmm, I'm trying to get the audio going (better than 8-bit SB) in my
laptop. Reading the specs of one of the audio chips in it (is it a
good or a bad thing to have a large number of audio capable devices in
your machine - I seem to have at least four :-), namely CS4239 I find
that it supposedly can emulate both WSS and SB. Trying to get the WSS
to work is not something I manage to do, unfortunately.

Browsing the source, I find that the driver tries to map some
io-addresses for the WSS codec, and then some for the AD1848
registers:

    /* Map the ports upto the AD1848 port */
    if (bus_space_map(sc->sc_iot, ia->ia_iobase, WSS_CODEC, 0, &sc->sc_ioh))
	goto bad1;

...

    /* Is there an ad1848 chip at (WSS iobase + WSS_CODEC)? */
    if (ad1848_isa_mapprobe(&sc->sc_ad1848, ia->ia_iobase + WSS_CODEC) == 0)
	goto bad;

This suggests that there should be some kind of device != AD1848
compatible at the io-port base address, but the CS4239 datasheet
thinks that the AD1848 registers is pointed to by the WSS ISAPNP
register pointer. What gives? What are those first four io-ports
doing, and why doesn't I seem to have them? Why isn't there any
audio-device for just attaching to an AD1848 w/o any glue hardware
(or doesn't this make sense)?

/Johan