pcm timeout (debug output from es137x driver)

From: Conrad J. Sabatier <conrads_at_cox.net>
Date: Wed, 18 Aug 2004 20:32:14 -0500
Just noticed a curious difference in the debug output from the es137x
driver as compared to the snd_ich driver.  There seems to be an
off-by-one error cropping up in the speed, blocksize and sampling rate
settings.  The irqhz is also coming out to be one less than it was with
the snd_ich driver.  Also, bizarre, the timeout occurs just after the
true sampling rate is attempted to be set (44100 instead of the 8000
attempted up until that point), at which point the irqhz also changes
drastically.

I'm wondering if rebuilding the kernel with absolutely no optimization
might help.  I'm currently using the default flags defined for amd64 in
sys/conf/kern.pre.mk:

. if ${MACHINE_ARCH} == "amd64"
COPTFLAGS?=-O2 -frename-registers -pipe

Think I'll give that a try (COPTFLAGS=-O0 -pipe).  Can't hurt, right? 
:-)

Aug 18 20:12:00 dolphin kernel: want format 8
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: setspeed, channel pcm0:play:0
Aug 18 20:12:00 dolphin kernel: want speed 8000, try speed 8000, got
speed 7999
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: r = 0
Aug 18 20:12:00 dolphin kernel: chn_setblocksize(0, 0)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: defaulting to (1024,
128)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: soft bps 1, spd 7999,
irqhz == 62
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: hard blksz requested
128 (maxsize 4096), got 128, irqhz == 62
Aug 18 20:12:00 dolphin kernel: setspeed done, r = 0
Aug 18 20:12:00 dolphin kernel: setspeed, channel pcm0:play:0
Aug 18 20:12:00 dolphin kernel: want speed 8000, try speed 8000, got
speed 7999
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: r = 0
Aug 18 20:12:00 dolphin kernel: chn_setblocksize(0, 0)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: defaulting to (1024,
128)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: soft bps 1, spd 7999,
irqhz == 62
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: hard blksz requested
128 (maxsize 4096), got 128, irqhz == 62
Aug 18 20:12:00 dolphin kernel: setspeed done, r = 0
Aug 18 20:12:00 dolphin kernel: chn_setblocksize(0, 0)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: defaulting to (1024,
128)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: soft bps 1, spd 7999,
irqhz == 62
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: hard blksz requested
128 (maxsize 4096), got 128, irqhz == 62
Aug 18 20:12:00 dolphin kernel: dsp sync
Aug 18 20:12:00 dolphin kernel: want format 4096
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: Format change 4096 failed, reverting to
8
Aug 18 20:12:00 dolphin kernel: want format 8
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: setspeed, channel pcm0:play:0
Aug 18 20:12:00 dolphin kernel: want speed 8000, try speed 8000, got
speed 7999
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: r = 0
Aug 18 20:12:00 dolphin kernel: chn_setblocksize(0, 0)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: defaulting to (1024,
128)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: soft bps 1, spd 7999,
irqhz == 62
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: hard blksz requested
128 (maxsize 4096), got 128, irqhz == 62
Aug 18 20:12:00 dolphin kernel: setspeed done, r = 0
Aug 18 20:12:00 dolphin kernel: want format 16
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: setspeed, channel pcm0:play:0
Aug 18 20:12:00 dolphin kernel: want speed 8000, try speed 8000, got
speed 7999
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: r = 0
Aug 18 20:12:00 dolphin kernel: chn_setblocksize(0, 0)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: defaulting to (512,
256)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: soft bps 2, spd 7999,
irqhz == 62
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: hard blksz requested
256 (maxsize 4096), got 256, irqhz == 62
Aug 18 20:12:00 dolphin kernel: setspeed done, r = 0
Aug 18 20:12:00 dolphin kernel: want format 268435472
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: setspeed, channel pcm0:play:0
Aug 18 20:12:00 dolphin kernel: want speed 8000, try speed 8000, got
speed 7999
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: r = 0
Aug 18 20:12:00 dolphin kernel: chn_setblocksize(0, 0)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: defaulting to (256,
512)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: soft bps 4, spd 7999,
irqhz == 62
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: hard blksz requested
512 (maxsize 4096), got 512, irqhz == 62
Aug 18 20:12:00 dolphin kernel: setspeed done, r = 0
Aug 18 20:12:00 dolphin kernel: setspeed, channel pcm0:play:0
Aug 18 20:12:00 dolphin kernel: want speed 44100, try speed 44100, got
speed 44099
Aug 18 20:12:00 dolphin kernel: feederflags 0
Aug 18 20:12:00 dolphin kernel: r = 0
Aug 18 20:12:00 dolphin kernel: chn_setblocksize(0, 0)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: defaulting to (32,
4096)
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: soft bps 4, spd 44099,
irqhz == 43
Aug 18 20:12:00 dolphin kernel: chn_setblocksize: hard blksz requested
2048 (maxsize 4096), got 2048, irqhz == 86
Aug 18 20:12:00 dolphin kernel: setspeed done, r = 0
Aug 18 20:12:29 dolphin kernel: pcm0:play:0: play interrupt timeout,
channel dead
Aug 18 20:12:29 dolphin kernel: chn_flush: c->flags 0x00021030
Aug 18 20:12:30 dolphin kernel: chn_flush: timeout, hw 4096, sw 131072

-- 
Conrad J. Sabatier <conrads_at_cox.net> -- "In Unix veritas"
Received on Wed Aug 18 2004 - 23:32:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:07 UTC