freebsd-dev/sys
Justin T. Gibbs 5fb0f52712 Improve sync recovery algorithm:
o Remove PSM_SYNCERR_THRESHOLD1.  This value specified how many sync
   errors were required before the mouse is re-initialised.
   Re-initialisation is now done after (packetsize * 2) sync errors as
   things aren't likely to improve after that.

 o Reset lastinputerror when re-initialisation occurs.  We don't want
   to continue to drop data after re-initialisation.

 o Count the number of failed packets independently of the syncerrors
   statistic.  syncerrors is useful for recovering sync within a single
   packet.  pkterrors allows us to detect when the mouse changes its
   packet mode due to some external event (e.g. KVM switch).

 o Reinitialize the mouse if we see more than psmpkterrthresh errors
   during the validation period.  The validation period begins as soon
   as a sync error is detected and continues until psmerrsecs/msecs
   time has elapsed.  The defaults for these two values force a reset
   if we see two packet errors in a 2 second period.  This allows rapid
   detection of packet framing errors caused by the mouse changing packet
   modes.

 o Export psmpkterrthresh as a sysctl

 o Export psmloglevel as a sysctl.

 o Enable more debugging code to be enabled at runtime via psmloglevel.

 o Simplify verbose conditioned loging by using a VLOG macro.

 o Add several comments describing the sync recovery algorithm of
   this driver.

Large Portions by: Brian Somers <brian@Awfulhak.org>
Inspired and Frustrated by: Belkin KVMs
Reviewed by: njl, philip
2004-08-27 21:25:16 +00:00
..
alpha Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
amd64 Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
arm Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
boot B1FLAGS -> BOOT_BOOT1_FLAGS, which is consistent with 2004-08-27 15:01:56 +00:00
cam Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
coda Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
compat Regenerate after fcntl() wrappers were marked MP safe. 2004-08-24 20:24:34 +00:00
conf Have the linker provide the btext symbol when referenced. This is needed 2004-08-27 19:13:35 +00:00
contrib From __FreeBSD_version 600001 on PFIL_HOOKS is permanently in the kernel and 2004-08-27 20:01:08 +00:00
crypto
ddb Damage control. Correcly advance symtab and strtab pointers, not 2004-07-28 08:59:08 +00:00
dev Improve sync recovery algorithm: 2004-08-27 21:25:16 +00:00
doc Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
fs Remove bogus vrele() call added in previous. 2004-08-27 11:24:31 +00:00
gdb Comment-out the debugging printf I left in in case there were some 2004-08-10 19:32:33 +00:00
geom Introduce g_alloc_bio() as a waiting variant of g_new_bio(). 2004-08-27 14:43:11 +00:00
gnu Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
i4b Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
i386 Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
ia64 Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
isa Improve sync recovery algorithm: 2004-08-27 21:25:16 +00:00
isofs/cd9660 Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
kern Poll() uses the array smallbits that is big enough to hold 32 struct 2004-08-27 21:23:50 +00:00
libkern Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
modules opt_pfil_hooks.h is no longer required. 2004-08-27 19:57:33 +00:00
net When detaching an interface, don't leave an obsolete pointer to the 2004-08-27 19:42:40 +00:00
net80211 Add a new network interface flag, IFF_NEEDSGIANT, which will allow 2004-07-27 23:20:45 +00:00
netatalk Inline umich license from COPYRIGHT to make it clear what license the 2004-08-10 03:23:05 +00:00
netatm Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
netgraph Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netinet Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netinet6 Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netipsec Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
netipx Avoid casts as lvalues. Declare local variable as u_char * instead of 2004-07-28 06:58:23 +00:00
netkey Semi-gratuitous white space synchronization with KAME tree: to reduce 2004-08-27 18:41:41 +00:00
netnatm
netncp
netsmb Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
nfs
nfs4client Put a version element in the VFS filesystem configuration structure 2004-07-30 22:08:52 +00:00
nfsclient In nfs_timer(), pass curthread rather than &thread0 into the protocol 2004-08-25 01:23:38 +00:00
nfsserver Convert a mtx_lock(&Giant) to a mtx_unlock(&Giant) in nfsrv_link() to 2004-08-25 16:52:59 +00:00
opencrypto Don't acquire Giant in cryptof_close(), as the code is intended to be 2004-08-10 03:26:17 +00:00
pc98 Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
pccard Move PNP IDs back into oldcard files 2004-08-13 06:57:31 +00:00
pci if_dc includes locking, but that locking is disabled by a #ifdef 2004-08-25 03:37:25 +00:00
posix4
powerpc Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
rpc fix array index out of bounds in rpc->rc_srtt[], rpc->rc_sdrtt[] 2004-07-15 22:21:25 +00:00
security Allow mac_bsdextended(4) to log failed attempts to syslog's AUTHPRIV 2004-08-21 20:19:19 +00:00
sparc64 Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
sys Bump __FreeBSD_version to indicate permanent PFIL_HOOKS. 2004-08-27 19:23:24 +00:00
tools Pass doxygen doc comments through to the output. 2004-07-11 16:14:24 +00:00
ufs Currently, if the secure level is low enough, system flags can 2004-08-22 02:03:41 +00:00
vm Move the cow field between wire_count and hold_count. This is the 2004-08-22 20:52:23 +00:00
Makefile Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00