Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Jan 2000 20:26:44 +0000
From:      Nick Sayer <nsayer@sftw.com>
To:        frank@exit.com
Cc:        Cameron Grant <gandalf@vilnya.demon.co.uk>, current@FreeBSD.ORG
Subject:   Re: neomagic 256av/256zx audio
Message-ID:  <387A4083.369827BE@sftw.com>
References:  <200001100530.VAA78037@realtime.exit.com>

next in thread | previous in thread | raw e-mail | index | archive | help
For what it's worth, I believe the Insperion 3500 is an oddity.

When I was dealing with OSS, the correct configuration turned out to be
a "Generic 256AV" located at 0x530, I5, DMA 0&1 -- that is, you treat
it just like an ordinary Windows Sound System chip (CS4231). The PCI
interface, I believe, has something to do with the funky control panel gizmo
you get in Windows that sets tone and chorus effects or some such.
I haven't looked at the driver in question, but I believe it probably expects
to use an exclusively PCI interface to the chip. Somehow, I believe the
Insperion doesn't do this.

Frank Mayhar wrote:

> Cameron Grant wrote:
> > i have just committed a driver for the neomagic chips.  please test and post
> > results.
>
> Okay.  I have a Dell Inspiron 3500, with a NeoMagic 256AV chipset in it.
> It hangs on boot, in nm_rd() line 146.  Here's the backtrace:
>
> (kgdb) bt
> #0  nm_rd (sc=0xc0d83100, regno=1536, size=2)
>     at ../../dev/sound/pci/neomagic.c:146
> #1  0xc0206ac7 in nm_rdcd (devinfo=0xc0d83100, regno=0)
>     at ../../dev/sound/pci/neomagic.c:232
> #2  0xc020219e in ac97_init (codec=0xc0d83000)
>     at ../../dev/sound/pcm/ac97.c:251
> #3  0xc0202376 in ac97mix_init (m=0xc073d30c) at ../../dev/sound/pcm/ac97.c:304
> #4  0xc02050b4 in mixer_init (d=0xc073d200, m=0xc0288120, devinfo=0xc0d83000)
>     at ../../dev/sound/pcm/mixer.c:53
> #5  0xc020736b in nm_pci_attach (dev=0xc0d87280)
>     at ../../dev/sound/pci/neomagic.c:594
> #6  0xc011e27e in DEVICE_ATTACH (dev=0xc0d87280) at device_if.c:63
> #7  0xc0148bdb in device_probe_and_attach (dev=0xc0d87280)
>     at ../../kern/subr_bus.c:1137
> #8  0xc01498ca in bus_generic_attach (dev=0xc0d87480)
>     at ../../kern/subr_bus.c:1831
> #9  0xc011e27e in DEVICE_ATTACH (dev=0xc0d87480) at device_if.c:63
> #10 0xc0148bdb in device_probe_and_attach (dev=0xc0d87480)
>     at ../../kern/subr_bus.c:1137
> #11 0xc01498ca in bus_generic_attach (dev=0xc0d87b80)
>     at ../../kern/subr_bus.c:1831
> #12 0xc01cced5 in pcib_attach (dev=0xc0d87b80) at ../../pci/pcisupport.c:747
> #13 0xc011e27e in DEVICE_ATTACH (dev=0xc0d87b80) at device_if.c:63
> #14 0xc0148bdb in device_probe_and_attach (dev=0xc0d87b80)
>     at ../../kern/subr_bus.c:1137
> #15 0xc01498ca in bus_generic_attach (dev=0xc0d87d80)
>     at ../../kern/subr_bus.c:1831
> #16 0xc011e27e in DEVICE_ATTACH (dev=0xc0d87d80) at device_if.c:63
> #17 0xc0148bdb in device_probe_and_attach (dev=0xc0d87d80)
>     at ../../kern/subr_bus.c:1137
> #18 0xc01498ca in bus_generic_attach (dev=0xc0d86000)
>     at ../../kern/subr_bus.c:1831
> #19 0xc011e27e in DEVICE_ATTACH (dev=0xc0d86000) at device_if.c:63
> #20 0xc0148bdb in device_probe_and_attach (dev=0xc0d86000)
>     at ../../kern/subr_bus.c:1137
> #21 0xc01498ca in bus_generic_attach (dev=0xc0d86080)
>     at ../../kern/subr_bus.c:1831
> #22 0xc0230c89 in nexus_attach (dev=0xc0d86080) at ../../i386/i386/nexus.c:199
> #23 0xc011e27e in DEVICE_ATTACH (dev=0xc0d86080) at device_if.c:63
> #24 0xc0148bdb in device_probe_and_attach (dev=0xc0d86080)
>     at ../../kern/subr_bus.c:1137
> #25 0xc0149e0a in root_bus_configure () at ../../kern/subr_bus.c:2214
> #26 0xc0227568 in configure (dummy=0x0) at ../../i386/i386/autoconf.c:146
> #27 0xc013319c in mi_startup (framep=0xc0325fb4) at ../../kern/init_main.c:217
>
> Here are the values; looks like sh has problems:
>
> (kgdb) print /x sh
> $2 = 0xc87d3000
> (kgdb) print *sh
> $3 = 17
> (kgdb) print st
> $4 = 1
> (kgdb) print /x regno
> $6 = 0x600
> (kgdb) print *sc
> $8 = {dev = 0x11, type = 0, reg = 0x0, irq = 0x0, buf = 0x0, regid = 0,
>   irqid = 32896, bufid = 0, ih = 0x0, ac97_base = 0, ac97_status = 0,
>   ac97_busy = 0, buftop = 0, pbuf = 0, rbuf = 0, cbuf = 0, acbuf = 0,
>   playint = 0, recint = 0, misc1int = 0, misc2int = 0, irsz = 0, badintr = 0,
>   pch = {spd = 0, dir = 0, fmt = 0, buffer = 0x0, channel = 0x0,
>     parent = 0x0}, rch = {spd = 0, dir = 0, fmt = 0, buffer = 0x0,
>     channel = 0x0, parent = 0x0}}
>
> Hmm, looks like sc->reg was never filled in.
>
> Hope this helps.
> --
> Frank Mayhar frank@exit.com
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?387A4083.369827BE>