cvs commit: src/sys/isa psm.c

Justin T. Gibbs gibbs at FreeBSD.org
Fri Aug 27 14:25:17 PDT 2004


gibbs       2004-08-27 21:25:16 UTC

  FreeBSD src repository

  Modified files:
    sys/isa              psm.c 
  Log:
  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 at Awfulhak.org>
  Inspired and Frustrated by: Belkin KVMs
  Reviewed by: njl, philip
  
  Revision  Changes    Path
  1.80      +120 -98   src/sys/isa/psm.c


More information about the cvs-src mailing list