freebsd-dev/sys
Alexander Motin fd578f6543 Make sound(4) more flexible in setting soft buffer and block sizes when
hardware imposes strict limitations on hard buffer and block sizes.

Previous code set soft buffer to be no smaller then hard buffer. On some
cards with fixed 64K physical buffer that caused up to 800ms play latency.
New code allows to set soft buffer size down to just two blocks of the hard
buffer and to not write more then that size ahead to the hardware buffer.
As result of that change I was able to reduce full practically measured
record-playback loop delay in those conditions down to only about 115ms
with theoretical playback latency of only about 50ms.

New code works fine for both vchans and direct cases. In both cases sound(4)
tries to follow hw.snd.latency_profile and hw.snd.latency values and
application-requested buffer and block sizes as much as limitation of two
hardware blocks allows.

Reviewed by:	silence on multimedia@
2012-01-31 21:46:28 +00:00
..
amd64 Add isci(4) driver for amd64 and i386 targets. 2012-01-31 19:38:18 +00:00
arm Add C11 macros describing subnormal numbers to float.h. 2012-01-23 06:36:41 +00:00
boot Clarify and improve the boot menu with some small changes: 2012-01-25 18:36:01 +00:00
bsm
cam Add CAM infrastructure to allow reporting when a drive's long read capacity 2012-01-26 18:09:28 +00:00
cddl always exclude data bufs regardless of debug settings 2012-01-29 00:19:19 +00:00
compat Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
conf Add isci(4) driver for amd64 and i386 targets. 2012-01-31 19:38:18 +00:00
contrib Allocate our mbuf with m_get2(). 2012-01-17 12:14:26 +00:00
crypto Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
ddb Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
dev Make sound(4) more flexible in setting soft buffer and block sizes when 2012-01-31 21:46:28 +00:00
fs When a "mount -u" switches an NFS mount point from TCP to UDP, 2012-01-31 03:58:26 +00:00
gdb kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
geom Avoid to check the same cache line/variable from all the locking 2012-01-28 14:00:21 +00:00
gnu Replace GPLd headers from the Maestro3 driver with BSD licensed 2012-01-20 22:37:10 +00:00
i386 Add isci(4) driver for amd64 and i386 targets. 2012-01-31 19:38:18 +00:00
ia64 Add C11 macros describing subnormal numbers to float.h. 2012-01-23 06:36:41 +00:00
isa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
kern A debugger which requested PT_FOLLOW_FORK should get the notification 2012-01-30 20:00:29 +00:00
kgssapi Add missing break statement to make sure all 3DES etypes really are treated 2011-10-10 09:13:07 +00:00
libkern Implement extensions on top of standards instead of the other way around. 2012-01-03 07:05:30 +00:00
mips Add C11 macros describing subnormal numbers to float.h. 2012-01-23 06:36:41 +00:00
modules Add isci(4) driver for amd64 and i386 targets. 2012-01-31 19:38:18 +00:00
net A flowtable entry can continue referencing an llentry indefinitely if the entry is repeatedly 2012-01-26 20:02:40 +00:00
net80211 Add a DFS debugging mode which is useful when doing automated DFS 2012-01-31 00:03:49 +00:00
netatalk Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netgraph Provide a findhook method for ng_socket(4). The node stores a 2012-01-23 16:43:13 +00:00
netinet a variable was erroneously declared as 32 bit instead of 64. 2012-01-27 13:26:25 +00:00
netinet6 Remove casts from inet6 address testing macros, thus preserving 2012-01-26 12:04:19 +00:00
netipsec Clean up some #endif comments removing from short sections. Add #endif 2012-01-22 02:13:19 +00:00
netipx Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netnatm
netncp Change ncp_scan_bindery_object() to pass a constant search string. 2011-10-16 08:44:03 +00:00
netsmb Add unicode support to msdosfs and smbfs; original pathes from imura, 2011-11-18 03:05:20 +00:00
nfs Some cleanup of BOOTP code. Initially I wanted to just change the ifioctl() 2011-12-13 07:02:48 +00:00
nfsclient When a "mount -u" switches an NFS mount point from TCP to UDP, 2012-01-31 03:58:26 +00:00
nfsserver Honor NFSv3 commit call (RFC 1813, Section 3.3.21) where when count is 0, 2011-12-15 02:26:53 +00:00
nlm jwd@ reported a problem via email to freebsd-fs@ on Aug 25, 2011 2012-01-31 02:11:05 +00:00
ofed Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:54 +00:00
opencrypto
pc98 Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
pci To save more power, switch to 10/100Mbps link when controller is 2011-11-23 23:29:18 +00:00
powerpc Fix build for the case of powerpc64 kernel without COMPAT_FREEBSD32. 2012-01-30 19:31:17 +00:00
rpc Both a crash reported on freebsd-current on Oct. 18 under the 2011-11-03 14:38:03 +00:00
security Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
sparc64 As it turns out r227960 may still be insufficient with PREEMPTION 2012-01-28 22:42:33 +00:00
sys Isolate v_caddr_t in the ie driver. 2012-01-31 13:00:40 +00:00
teken Link the demo application against ncursesw to make Unicode work. 2011-10-13 14:20:27 +00:00
tools Restore the comment that I removed by accident. 2011-11-09 13:26:59 +00:00
ufs There are several bugs/hangs when trying to take a snapshot on a UFS/FFS 2012-01-17 01:14:56 +00:00
vm exclude kmem_alloc'ed ARC data buffers from kernel minidumps on amd64 2012-01-27 20:18:31 +00:00
x86 Fix a few bugs in the SRAT parsing code: 2012-01-03 20:53:58 +00:00
xdr
xen Xen netback driver rewrite. 2012-01-26 16:35:09 +00:00
Makefile Improve the cscope target's handling of MD directories. Automatically 2012-01-03 17:31:27 +00:00