Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jun 1999 10:02:24 +0800
From:      Stephen Hocking-Senior Programmer PGS Tensor Perth <shocking@prth.pgs.com>
To:        current@freebsd.org, multimedia@freebsd.org
Subject:   PCM sound problems
Message-ID:  <199906240202.KAA15200@ariadne.tensor.pgs.com>

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

I have a problem with the way my soundcard behaves. It stutters when using 
mpg123, where a small segment of music is played a number of time before 
moving onto the next segment. Looking at the code, I see that the DMA is set 
up in auto mode. I can only surmise that interrupts are not being serviced - 
perhaps we're sleeping at too high a priority?

My machine's bios is set up believing that it has a PnP aware OS, resource 
allocation is automatic and all IRQs are available for Pnp/PCI. My dmesg 
output is below, as is my machine config file

Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #0: Thu Jun 24 00:29:17 WST 1999
    toor@bloop.craftncomp.com:/usr/src/sys/compile/bloop
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 399666517 Hz
CPU: AMD-K6(tm) 3D processor (399.67-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x58c  Stepping=12
  Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
real memory  = 67043328 (65472K bytes)
FreeBSD Kernel Configuration Utility - Version 1.2
 Type "help" for help.
config> pnp 1 0 os enable port0 0x534 port2 0x220 irq0 9 drq1 3
config> quit
sio0: system console
avail memory = 62095360 (60640K bytes)
Preloaded elf kernel "kernel" at 0xc02fe000.
Probing for PnP devices:
CSN 1 Vendor ID: CSC4236 [0x3642630e] Serial 0xffffffff Comp ID: @@@0000 
[0x00000000]
mss_attach <CS4236>1 at 0x530 irq 9 dma 0:3 flags 0x13
pcm1 (CS423x/Yamaha/AD1816 <CS4236> sn 0xffffffff) at 0x530-0x537 irq 9 drq 0 
flags 0x13 on isa
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <PCI host bus adapter> on motherboard
pci0: <PCI bus> on pcib0
chip0: <VIA 82C598MVP (Apollo MVP3) host bridge> at device 0.0 on pci0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
ata-pci0: <Unknown PCI IDE controller> 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: <VIA 83C572 USB controller> irq 11 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
uhub0 at usb0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
rl0: <RealTek 8139 10/100BaseTX> irq 5 at device 9.0 on pci0
rl0: Ethernet address: 00:00:e8:53:a2:3e
rl0: autoneg complete, link status good (half-duplex, 10Mbps)
3DFX Voodoo 1 has mem at phys 0xe4000000, vir 0xc3d9b000 type 0x1, vendor 
0x121a
voodoo0: <3DFX Voodoo 1> at device 10.0 on pci0
vga-pci0: <Matrox MGA 2164W graphics accelerator> irq 12 at device 11.0 on pci0
ncr0: <ncr 53c875 fast20 wide scsi> irq 10 at device 12.0 on pci0
isa0: <ISA bus> on motherboard
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
vga0: <Generic ISA VGA> on isa0
sc0: <System console> on isa0
sc0: VGA color <16 virtual consoles, flags=0x0>
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> at fdc0 drive 0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0 at port 0x378-0x37f irq 7 on isa0
ppc0: Winbond chipset (NIBBLE-only) in COMPATIBLE mode
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
lppps0: <Pulse per second Timing Interface> on ppbus 0
ata1: unwanted interrupt 1 status = ff
ds0 XXX: driver didn't set ifq_maxlen
ata0: master: setting up generic WDMA2 mode OK
ad0: <Maxtor 90648D3/GAS54112> ATA-4 disk at ata0 as master
ad0: 6179MB (12656448 sectors), 12556 cyls, 16 heads, 63 S/T, 512 B/S
ad0: piomode=4, dmamode=2, udmamode=2
ad0: 16 secs/int, 0 depth queue, DMA mode
ata1: unwanted interrupt 2 status = 50
acd0: <ATAPI 40X CDROM/VER-3.80> CDROM drive at ata1 as slave 
acd0: drive speed 687 - 6875KB/sec, 128KB cache
acd0: supported read types: CD-R, CD-RW, CD-DA, packet track
acd0: Audio: play, 255 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: no/blank disc inside, unlocked
Waiting 6 seconds for SCSI devices to settle
sa0 at ncr0 bus 0 target 6 lun 0
sa0: <EMERALD TDC 3800 R02.> Removable Sequential Access SCSI-CCS device 
sa0: 3.300MB/s transfers
changing root device to wd0s4a
tsleep returns 4

machine		"i386"
ident		bloop
maxusers	10
options		MAXDSIZ="(256*1024*1024)"
options		DFLDSIZ="(256*1024*1024)"
options		PQ_LARGECACHE		# color for 512k/16k cache
#options	PQ_HUGECACHE		# color for 1024k/16k cache
options         INCLUDE_CONFIG_FILE     # Include this file in kernel
#config		kernel	root on ad0 dumps on ad0
cpu		"I486_CPU"
cpu		"I586_CPU"		# aka Pentium(tm)
cpu		"I686_CPU"		# aka Pentium Pro(tm)
options		"CPU_WT_ALLOC"
options		"NO_F00F_HACK"
options		"COMPAT_43"
options		USER_LDT		#allow user-level control of i386 ldt
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG
options		DDB
options		KTRACE			#kernel tracing
options		INVARIANTS
options		INVARIANT_SUPPORT
options		PERFMON
options		UCONSOLE
options		USERCONFIG		#boot -c editor
options		INET			#Internet communications protocols
pseudo-device	ether			#Generic Ethernet
pseudo-device	loop			#Network loopback device
pseudo-device	bpfilter 4		#Berkeley packet filter
pseudo-device	disc			#Discard device
pseudo-device	tun	1		#Tunnel driver (ppp(8), nos-tun(8))
options		"TCP_COMPAT_42"		#emulate 4.2BSD TCP bugs
options		MROUTING		# Multicast routing
options		FFS			#Fast filesystem
options		MFS			#Memory File System
options		NFS			#Network File System
options		PROCFS			#Process filesystem
options		FFS_ROOT		#FFS usable as root device
options		SOFTUPDATES
options		"P1003_1B"
options		"_KPOSIX_PRIORITY_SCHEDULING"
options		_KPOSIX_VERSION="199309L"
controller	scbus0	#base SCSI code
device		ch0	#SCSI media changers
device		da0	#SCSI direct access devices (aka disks)
device		sa0	#SCSI tapes
device		cd0	#SCSI CD-ROMs
#device		od0	#SCSI optical disk
#device		pass0	#CAM passthrough driver
options		SCSI_DELAY=6000	# Be pessimistic about Joe SCSI device
options		SA_SPACE_TIMEOUT="(60)"
options		SA_REWIND_TIMEOUT="(2*60)"
options		SA_ERASE_TIMEOUT="(4*60)"
pseudo-device	pty	16	#Pseudo ttys - can go as high as 256
pseudo-device	speaker		#Play IBM BASIC-style noises out your speaker
pseudo-device	gzip		#Exec gzipped a.out's
options		MSGBUF_SIZE="40960"
controller	isa0
controller	atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1
device		vga0	at isa? port ? conflicts
options		VESA			# needs VM86 defined too!!
options		XSERVER			# support for running an X server.
device		sc0	at isa? 
device		npx0	at nexus? port IO_NPX iosiz 0x0 flags 0x0 irq 13
controller	ata0
device		atadisk0	# ATA disk drives
device		atapicd0	# ATAPI CDROM drives
controller fdc0 at isa? port "IO_FD1" irq 6 drq 2
disk		fd0	at fdc0 drive 0
device		sio0	at isa? port "IO_COM1" flags 0x10 irq 4
device		sio1	at isa? port "IO_COM2" irq 3
controller	pnp0
#device pcm0
device pcm0 at isa? port ? irq 9 drq 0 flags 0x13
#device pca0 at isa? port "IO_TIMER1" 
controller	pci0
controller	ncr0
device		de0
device		rl0
device		voodoo0	# I hope this works....
controller	ppbus0
device		lpt0	at ppbus?
device		ppi0	at ppbus?
device		pps0	at ppbus?

device		ppc0	at isa? port? irq 7

options         PMAP_SHPGPERPROC="201"
options		SHMALL=1025
options		SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
options		SHMMAXPGS=1025
options		SHMMIN=2
options		SHMMNI=33
options		SHMSEG=9
controller    uhci0
controller    ohci0
controller    usb0
device        ums0
device        ukbd0
device        ulpt0
device        uhid0
device        ugen0

-- 
  The views expressed above are not those of PGS Tensor.

    "We've heard that a million monkeys at a million keyboards could produce
     the Complete Works of Shakespeare; now, thanks to the Internet, we know
     this is not true."            Robert Wilensky, University of California




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




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