Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

NetBSD-current on thinkpad T495, sound issue (was "audio issue on -current")



Hello!

For some reason I don't see the messages I posted before, so I'm sorry
for possibly duplicating them.

When I'm listening to music I get this error after some time:
audio1(hdafg1): audio_write: device timeout, seq=16987,
usrbuf=60224/H60224, outbuf=8192/8192
audio1(hdafg1): audio_drain: device timeout, seq=16987,
usrbuf=60224/H60224, outbuf=8192/8192

I tried different values for hw.audio1.blk_ms with no luck. I also
tried to increase AUDIO_TIMEOUT from 3000 to 9000 in
/usr/src/sys/dev/audio/audio.c and it didn't work.

I've made some research and found this:
- The sound stops working because cv_timedwait_sig() returns
EWOULDBLOCK in audio.c:1705
- Then the MD driver receives the hw interrupt (hdaudio_intr) that the
RIRB (response input ring buffer) is empty:
   [   650.951986] audio_pmixer_process@1 done mixseq=63728 hwbuf=0/960/1440
   [   650.951986] audio_softintr_wr@1 called
   [   650.951986] audio_softintr_wr@1 #2 broadcast; trkseq=63729
out=960/1440/1920
   [   650.951986] audio_track_waitio@1 #2 wakeup
   [   650.951986] audio_track_play@1 #2 start pstate=1
   [   650.951986] audio_track_play@1 #2 end out=960/1920/1920
f=0/0/441 usr=28224/63504/H65268
   [   650.951986] audio_write@1 #2 while resid=3312 usrbuf=28224/63504/H65268
   [   650.951986] audio_write@1 #2 uiomove(len=1764) usrbuf=28224/65268/C65268
   [   650.951986] audio_write@1 #2 while resid=1548 usrbuf=28224/65268/H65268
   [   650.951986] audio_write@1 #2 sleep usrbuf=65268/H65268
   [   650.961986] hdaudio1: cmd  : request 00000F09 00000000 (21)
   [   650.961986] hdaudio1: cmd  : response 00000000 00000000
   [   650.961986] hdaudio1: hdaudio_intr: 997   /* this a line number
in hdaudio.c */
   [   650.961986] hdaudio1: unsol: rirb empty
   [   650.961986] hdaudio1: hdaudio_intr: 999   /* this a line number
in hdaudio.c */
   [   650.961986] hdaudio1: cmd  : request 00000707 00000040 (14)
   [   650.961986] hdaudio1: cmd  : response 00000000 00000000
   [   650.961986] hdaudio1: cmd  : request 00000707 00000080 (21)
   [   650.961986] hdaudio1: cmd  : response 00000000 00000000
   [   653.951941] audio_track_waitio@1 #2 cv_timedwait_sig failed 35
   [   653.951941] audio1(hdafg1): audio_write: device timeout,
seq=63729, usrbuf=65268/H65268, outbuf=1920/1920
   [   653.951941] audio_write@1 #2 done error=35
   [   653.951941] audio_write@1 #2 begin resid=1548 pid=1083.1078 ioflag=0x1
   [   653.951941] audio_write@1 #2 while resid=1548 usrbuf=28224/65268/H65268
   [   653.951941] audio_write@1 #2 sleep usrbuf=65268/H65268
- If I start a player on a just rebooted system right after login, it
happens nearly within the same time, 650-700 seconds in dmesg output
- It seems sc->sc_lock is locked by some other thread

Regards,


-- 
Vitaly


Home | Main Index | Thread Index | Old Index