Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Apr 2001 12:47:08 +0200 (CEST)
From:      Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/26427: pcm driver freezes kernel during boot with NeoMagic 256AV
Message-ID:  <200104081047.f38Al8753100@curry.mchp.siemens.de>

next in thread | raw e-mail | index | archive | help

>Number:         26427
>Category:       kern
>Synopsis:       pcm driver freezes kernel during boot with NeoMagic 256AV
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Apr 08 03:50:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Andre Albsmeier
>Release:        FreeBSD 4.3-BETA i386
>Organization:
>Environment:

System: FreeBSD 4.3-BETA: Sat Apr  7 17:06:39 CEST 2001

Machine: Siemens Mobile 510AGP Laptop with NeoMagic 256AV

>Description:

When using

	device pci
	device pcm

in the kernel config file, the machine hangs during booting when
initializing the NeoMagic 256AV sound hardware. It stops at the
indicated place of sys/dev/sound/pcm/mixer.c:

int
mixer_init(device_t dev, kobj_class_t cls, void *devinfo)
{
    	snddev_info *d;
	snd_mixer *m;
	u_int16_t v;
	int i;

	d = device_get_softc(dev);
	m = (snd_mixer *)kobj_create(cls, M_MIXER, M_WAITOK | M_ZERO);

	m->name = cls->name;
	m->devinfo = devinfo;

/**** when executing the following line, the machine hangs ***/

	if (MIXER_INIT(m))
		goto bad;

/**** it never comes here  ***/

	for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
		v = snd_mixerdefaults[i];
		mixer_set(m, i, v | (v << 8));
	}

	mixer_setrecsrc(m, SOUND_MASK_MIC);

	d->mixer = m;

	return 0;

bad:	kobj_delete((kobj_t)m, M_MIXER);
	return -1;
}


The machine works fine when 'device pci' is not present in the kernel
conf and the following pcm line is used:

device  pcm0 at isa? port 0x530 irq 5 drq 1 flags 0x13

In this case some isa compatibility hardware is used. It also works
with the 'device pci' option when pcm had been left out of the
kernel config file (without sound, of course). For this latter case,
the dmesg is a follows:

Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.3-BETA #18: Sat Apr  7 16:21:05 CEST 2001
    root@voyager.andre.home.tld:/src/obj-4/src/src-4/sys/schlappy
Timecounter "i8254"  frequency 1193174 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (366.67-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x66a  Stepping = 10
  Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 134152192 (131008K bytes)
avail memory = 127623168 (124632K bytes)
Preloaded elf kernel "kernel" at 0xc02f7000.
Pentium Pro MTRR support enabled
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <NeoMagic MagicMedia 256AV SVGA controller> at 0.0 irq 9
chip1: <NeoMagic MagicMedia 256AX Audio controller> mem 0xfea00000-0xfeafffff,0xf7800000-0xf7bfffff irq 11 at device 0.1 on pci1
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xfcd0-0xfcdf at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 7.2 irq 9
chip2: <Intel 82371AB Power management controller> port 0x2180-0x218f at device 7.3 on pci0
pcic-pci0: <TI PCI-1225 PCI-CardBus Bridge> irq 9 at device 10.0 on pci0
pcic-pci0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC serial isa irq]
pcic-pci1: <TI PCI-1225 PCI-CardBus Bridge> irq 11 at device 10.1 on pci0
pcic-pci1: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC serial isa irq]
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3b0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <9 virtual consoles, flags=0x200>
fdc0: <NEC 72065B or clone> 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
sio0 at port 0x3f8-0x3ff irq 4 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
pcic0: <VLSI 82C146> at port 0x3e0-0x3e1 on isa0
pcic0: Polling mode
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> on pcic0
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ata0-master: DMA limited to UDMA33, non-ATA66 compliant cable
ad0: 9590MB <IBM-DJSA-210> [19485/16/63] at ata0-master UDMA33
acd0: DVD-ROM <MATSHITADVD-ROM SR-8171> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s2a
pccard: card inserted, slot 0
pccard: card inserted, slot 1
ep0: <3Com Etherlink III 3C589> at port 0x240-0x24f irq 10 slot 0 on pccard0
ep0: Ethernet address 00:60:97:cd:3b:89
sio2 at port 0x2e8-0x2ef irq 15 slot 1 on pccard1
sio2: type 16550A

>How-To-Repeat:

Use a Siemens M510AGP and boot a kernel that has pci and pcm stuff enabled.

>Fix:

Unknown. I will happily try out anything s.o. suggests.
>Release-Note:
>Audit-Trail:
>Unformatted:

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104081047.f38Al8753100>