Re: neomagic 256av/256zx audio
Peter Wemm wrote: > Try changing the 'device pcm0 at .' to this: > > options PNPBIOS > device pcm0 > > with *no* 'at isa?'. See what happens. If it shows up in the pnp id tags but > isn't recognized, show us the 'unknown*' lines from dmesg. Tried that. The config and dmesg output follows. (It didn't work.) (Irrelevant bits deleted.) options PNPBIOS device pcm0 Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 4.0-CURRENT #1: Tue Jan 11 19:14:54 PST 2000 [EMAIL PROTECTED]:/usr/local/src/sys/compile/AUTON Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Celeron (397.05-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x66a Stepping = 10 Features=0x183f9ff real memory = 134152192 (131008K bytes) sio0: gdb debugging port avail memory = 126783488 (123812K bytes) Preloaded elf kernel "kernel" at 0xc0312000. Pentium Pro MTRR support enabled npx0: on motherboard npx0: INT 16 interface apm0: on motherboard apm: found APM BIOS v1.2, connected at v1.2 pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 vga-pci0: mem 0xfec0-0xfecf,0xfe80-0xfebf,0xfd00-0xfdff at device 0.0 on pci1 pcm0: this is a non-ac97 NM256AV, not attaching chip1: mem 0xfe70-0xfe7f,0xfe00-0xfe3f irq 11 at device 0.1 on pci1 pcic-pci0: at device 4.0 on pci0 pcic-pci1: at device 4.1 on pci0 isab0: at device 7.0 on pci0 isa0: on isab0 ata-pci0: port 0xfcd0-0xfcdf at device 7.1 on pci0 ata-pci0: Busmastering DMA supported ata0 at 0x01f0 irq 14 on ata-pci0 ata1 at 0x0170 irq 15 on ata-pci0 uhci0: port 0xfce0-0xfcff irq 11 at device 7.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered intpm0: port 0x2180-0x218f irq 9 at device 7.3 on pci0 intpm0: I/O mapped 2180 intpm0: intr IRQ 9 enabled revision 0 smbus0: on intsmb0 smb0: on smbus0 intpm0: PM I/O mapped 8000 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60-0x6f on isa0 atkbd0: irq 1 on atkbdc0 psm0: irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: at port 0x3b0-0x3df iomem 0xa-0xb on isa0 sc0: on isa0 sc0: VGA <4 virtual consoles, flags=0x200> pcic: polling, can't alloc 0 pcic: polling, can't alloc 0 pcic0: on isa0 pccard0: on pcic0 pccard1: on pcic0 sio0 at port 0x3f8-0x3ff irq 4 flags 0x90 on isa0 sio0: type 16550A ppc0 at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/7 bytes threshold lpt0: on ppbus 0 lpt0: Interrupt-driven port unknown0: at port 0x80,0x401-0x407 iomem 0xfff8-0x on isa0 unknown1: at port 0-0xf,0x81-0x8f,0xc0-0xdf drq 4 on isa0 unknown: can't assign resources unknown2: at port 0x40-0x43 irq 0 on isa0 unknown3: at port 0x70-0x71,0x72-0x73 irq 8 on isa0 unknown4: at iomem 0-0x9,0xdc000-0xf,0x10-0x7ff on isa0 unknown: can't assign resources unknown5: at port 0xf0-0xff irq 13 on isa0 unknown: can't assign resources unknown6: at port 0xcf8-0xcff on isa0 unknown: can't assign resources unknown7: on isa0 unknown: can't assign resources unknown: can't assign resources unknown8: at port 0x220-0x22f,0x530-0x537,0x388-0x38f,0x320-0x321 irq 5 drq 0,1 on isa0 unknown: can't assign resources unknown: can't assign resources ad0: ATA-4 disk at ata0 as master ad0: 4645MB (9514260 sectors), 10068 cyls, 15 heads, 63 S/T, 512 B/S ad0: 16 secs/int, 1 depth queue, UDMA33 acd0: CDROM drive at ata1 as master acd0: read 4134KB/s (4134KB/s), 128KB buffer, WDMA2 acd0: Reads: CD-R, CD-RW, CD-DA stream acd0: Audio: play, 16 volume levels acd0: Mechanism: ejectable tray acd0: Medium: CD-RW 120mm data disc loaded, unlocked Mounting root from ufs:/dev/ad0s2a pccard: card inserted, slot 0 pccard: card inserted, slot 1 sio1 at port 0x2f8-0x2ff irq 3 slot 0 on pccard0 sio1: type 16550A ep0: No irq?! -- Frank Mayhar [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: neomagic 256av/256zx audio
Frank Mayhar wrote: > Nick Sayer wrote: > > Frank Mayhar wrote: > > > Well, this doesn't help me a whole lot with pcm. > > I think it does. Try configuring pcm0 at 0x534 (4, not 0), irq 5, > > dma 0, flags 0x11 (presuming the BIOS says 0x530, irq 5, dma 0 & 1). > > This did work for me once upon a time, modulo bugs in the old pcm code. > > Sigh. I tried this. I get the *exact* same hang as before. It looks > like newpcm is trying to get the device on the pci bus without respect to > the configuration in the config file. > > The line I used was > device pcm0 at isa? port 0x534 irq 5 drq 0 flags 0x11 > with no "device pcm0" line. > > Argh. Next suggestion? Try changing the 'device pcm0 at .' to this: options PNPBIOS device pcm0 with *no* 'at isa?'. See what happens. If it shows up in the pnp id tags but isn't recognized, show us the 'unknown*' lines from dmesg. Cheers, -Peter -- Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: neomagic 256av/256zx audio
Nick Sayer wrote: > Frank Mayhar wrote: > > Well, this doesn't help me a whole lot with pcm. > I think it does. Try configuring pcm0 at 0x534 (4, not 0), irq 5, > dma 0, flags 0x11 (presuming the BIOS says 0x530, irq 5, dma 0 & 1). > This did work for me once upon a time, modulo bugs in the old pcm code. Sigh. I tried this. I get the *exact* same hang as before. It looks like newpcm is trying to get the device on the pci bus without respect to the configuration in the config file. The line I used was device pcm0 at isa? port 0x534 irq 5 drq 0 flags 0x11 with no "device pcm0" line. Argh. Next suggestion? -- Frank Mayhar [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: neomagic 256av/256zx audio
Cameron Grant wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] > > I did that and it still hangs. Let me see if it's for the same reason. > > Maybe *sc is getting stepped on somehow? > very odd. i have no idea what is going on. > i have committed bits, so try again in a few hours. Okay, I've rebuilt the kernel and rerun the test, again doing remote debugging. As I thought, the zeroed *sc was a quirk of that debugging session. The same hang is happening to me as is happening to the other guy with a hang at 0x600 (sorry, I forgot his name and didn't retain the email). Here's the backtrace: #0 nm_rd (sc=0xc0d83100, regno=1536, size=2) at ../../dev/sound/pci/neomagic.c:142 #1 0xc0207267 in nm_rdcd (devinfo=0xc0d83100, regno=0) at ../../dev/sound/pci/neomagic.c:232 #2 0xc020293e in ac97_init (codec=0xc0d83000) at ../../dev/sound/pcm/ac97.c:251 #3 0xc0202b16 in ac97mix_init (m=0xc073d30c) at ../../dev/sound/pcm/ac97.c:304 #4 0xc0205854 in mixer_init (d=0xc073d200, m=0xc0288c40, devinfo=0xc0d83000) at ../../dev/sound/pcm/mixer.c:53 #5 0xc0207b4b in nm_pci_attach (dev=0xc0d87280) at ../../dev/sound/pci/neomagic.c:595 #6 0xc011e1be in DEVICE_ATTACH (dev=0xc0d87280) at device_if.c:63 #7 0xc0148b87 in device_probe_and_attach (dev=0xc0d87280) at ../../kern/subr_bus.c:1137 #8 0xc0149876 in bus_generic_attach (dev=0xc0d87480) at ../../kern/subr_bus.c:1831 #9 0xc011e1be in DEVICE_ATTACH (dev=0xc0d87480) at device_if.c:63 #10 0xc0148b87 in device_probe_and_attach (dev=0xc0d87480) at ../../kern/subr_bus.c:1137 #11 0xc0149876 in bus_generic_attach (dev=0xc0d87b80) at ../../kern/subr_bus.c:1831 #12 0xc01cd235 in pcib_attach (dev=0xc0d87b80) at ../../pci/pcisupport.c:747 #13 0xc011e1be in DEVICE_ATTACH (dev=0xc0d87b80) at device_if.c:63 #14 0xc0148b87 in device_probe_and_attach (dev=0xc0d87b80) at ../../kern/subr_bus.c:1137 #15 0xc0149876 in bus_generic_attach (dev=0xc0d87d80) at ../../kern/subr_bus.c:1831 #16 0xc011e1be in DEVICE_ATTACH (dev=0xc0d87d80) at device_if.c:63 #17 0xc0148b87 in device_probe_and_attach (dev=0xc0d87d80) at ../../kern/subr_bus.c:1137 #18 0xc0149876 in bus_generic_attach (dev=0xc0d86000) at ../../kern/subr_bus.c:1831 #19 0xc011e1be in DEVICE_ATTACH (dev=0xc0d86000) at device_if.c:63 #20 0xc0148b87 in device_probe_and_attach (dev=0xc0d86000) at ../../kern/subr_bus.c:1137 #21 0xc0149876 in bus_generic_attach (dev=0xc0d86080) at ../../kern/subr_bus.c:1831 #22 0xc0231579 in nexus_attach (dev=0xc0d86080) at ../../i386/i386/nexus.c:199 #23 0xc011e1be in DEVICE_ATTACH (dev=0xc0d86080) at device_if.c:63 #24 0xc0148b87 in device_probe_and_attach (dev=0xc0d86080) at ../../kern/subr_bus.c:1137 #25 0xc0149db6 in root_bus_configure () at ../../kern/subr_bus.c:2214 #26 0xc0227e58 in configure (dummy=0x0) at ../../i386/i386/autoconf.c:146 #27 0xc0133118 in mi_startup (framep=0xc0326fb4) at ../../kern/init_main.c:217 (kgdb) print /x regno $1 = 0x600 The hang is happening on the "movzwl (%ebx,%eax,1),%eax" at nm_rd+80: (kgdb) s 146 return bus_space_read_2(st, sh, regno); (kgdb) print $eip $2 = (void *) 0xc0207054 (kgdb) stepi 0xc0207056 146 return bus_space_read_2(st, sh, regno); (kgdb) stepi 198 #if defined(_I386_BUS_MEMIO_H_) (kgdb) print $eip $3 = (void *) 0xc0207060 That's this instruction: 0xc0207060 : movzwl (%ebx,%eax,1),%eax (kgdb) print /x $ebx $5 = 0x600 (kgdb) print /x $eax $6 = 0xc87d2000 $eax being 0xc87d2000 seems a little odd, but I don't remember my 80x86 assembly well enough to say whether it's right or wrong. In the meantime, I'll try Nick Sayer's trick. -- Frank Mayhar [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: neomagic 256av/256zx audio
Frank Mayhar wrote: > Well, this doesn't help me a whole lot with pcm. I think it does. Try configuring pcm0 at 0x534 (4, not 0), irq 5, dma 0, flags 0x11 (presuming the BIOS says 0x530, irq 5, dma 0 & 1). This did work for me once upon a time, modulo bugs in the old pcm code. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: neomagic 256av/256zx audio
Nick Sayer wrote: > 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. Well, this doesn't help me a whole lot with pcm. I wasn't able to do it last night, but I'll get a new kernel on the laptop tonight and try to reproduce it with all-new bits. I suspect, though, that I'll get what that other guy got, a hang on the outw instruction. (I suspect that the zeroed-out *sc I saw was a remote-debugging glitch.) -- Frank Mayhar [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: neomagic 256av/256zx audio
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 [EMAIL PROTECTED] > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-current" in the body of the message To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: neomagic 256av/256zx audio
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 [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message