Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Aug 2000 10:29:45 +0900
From:      Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
To:        naddy@mips.inka.de (Christian Weisgerber)
Cc:        freebsd-alpha@freebsd.org, yokota@zodiac.mech.utsunomiya-u.ac.jp
Subject:   Re: psm out of sync 
Message-ID:  <200008300129.KAA28298@zodiac.mech.utsunomiya-u.ac.jp>
In-Reply-To: Your message of "30 Aug 2000 02:40:41 %2B0200." <8ohl69$5vu$1@ganerc.mips.inka.de> 
References:  <8ohl69$5vu$1@ganerc.mips.inka.de> 

next in thread | previous in thread | raw e-mail | index | archive | help

>Aiiiiiii!  I thought this had been fixed some time ago.  It's back on
>alpha (5.0-CURRENT)?
>
>psmintr: out of sync (00c0 != 0000).
>psmintr: out of sync (00c0 != 0000).
>psmintr: out of sync (00c0 != 0000).
>psmintr: out of sync (00c0 != 0000).
>...

Would you provide some more details?  Mouse model?  What were you
doing when this happened?  Do you use a KVM switch?

Would you test the following patch for sys/isa/psm.c?  Please
apply the patch and add 'flags 0x10000' to psm0.  Watch out for
error logs from psm0.

Note this patch is NOT the solution for this problem. But, rather
an interim workaround...

Kazu

Index: isa/psm.c
===================================================================
RCS file: /src/CVS/src/sys/isa/psm.c,v
retrieving revision 1.29
diff -u -r1.29 psm.c
--- isa/psm.c	2000/08/24 08:49:44	1.29
+++ isa/psm.c	2000/08/25 12:42:54
@@ -177,13 +177,17 @@
 #define PSM_CONFIG_IGNPORTERROR	0x1000  /* ignore error in aux port test */
 #define PSM_CONFIG_HOOKRESUME	0x2000	/* hook the system resume event */
 #define PSM_CONFIG_INITAFTERSUSPEND 0x4000 /* init the device at the resume event */
+#define PSM_CONFIG_ENABLETAP	0x8000  /* enable `tap' action if available */
+#define PSM_CONFIG_SYNCHACK	0x10000 /* enable `out-of-sync' hack */
 
 #define PSM_CONFIG_FLAGS	(PSM_CONFIG_RESOLUTION 		\
 				    | PSM_CONFIG_ACCEL		\
 				    | PSM_CONFIG_NOCHECKSYNC	\
+				    | PSM_CONFIG_SYNCHACK	\
 				    | PSM_CONFIG_NOIDPROBE	\
 				    | PSM_CONFIG_NORESET	\
 				    | PSM_CONFIG_FORCETAP	\
+				    | PSM_CONFIG_ENABLETAP	\
 				    | PSM_CONFIG_IGNPORTERROR	\
 				    | PSM_CONFIG_HOOKRESUME	\
 				    | PSM_CONFIG_INITAFTERSUSPEND)
@@ -1900,6 +1909,15 @@
             log(LOG_DEBUG, "psmintr: out of sync (%04x != %04x).\n", 
 		c & sc->mode.syncmask[0], sc->mode.syncmask[1]);
 	    sc->inputbytes = 0;
+	    if (sc->config & PSM_CONFIG_SYNCHACK) {
+		/*
+		 * XXX: this is a grotesque hack to get us out of
+		 * dreaded "out of sync" error.
+		 */
+		log(LOG_DEBUG, "psmintr: re-enable the mouse.\n");
+		disable_aux_dev(sc->kbdc);
+		enable_aux_dev(sc->kbdc);
+	    }
             continue;
 	}
 





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200008300129.KAA28298>