[PATCH] Re: PS/2 Slowness w/ 2.6.0-test9-bk2

From: Ramón Rey Vicente
Date: Tue Oct 28 2003 - 20:50:35 EST


El mié, 29-10-2003 a las 01:48, walt escribió:

> I have the same problem, but I find that booting with the psmouse_noext
> kernel parameter reverses the unwanted behavior.

I've made a patch with a workaround, a new MOUSE_PS2_FORCE_RATE option
:). I hope this help somebody while Linus/someone find the perfect
solution
--
Ramón Rey Vicente <ramon dot rey at hispalinux dot es>
jabber ID <rreylinux at jabber dot org>
GPG public key ID 0xBEBD71D5 -> http://pgp.escomposlinux.org/
Index: Kconfig
===================================================================
--- Kconfig (revision 13674)
+++ Kconfig (working copy)
@@ -28,6 +28,13 @@
To compile this driver as a module, choose M here: the
module will be called psmouse.

+config MOUSE_PS2_FORCE_RATE
+ bool "Force rate of PS/2 mouse"
+ default n
+ depends on MOUSE_PS2
+ ---help---
+ Say Y if you experiment slowness problems with your PS/2 mouse.
+
config MOUSE_PS2_SYNAPTICS
bool "Synaptics TouchPad"
default n
Index: psmouse-base.c
===================================================================
--- psmouse-base.c (revision 14241)
+++ psmouse-base.c (working copy)
@@ -40,7 +40,13 @@

static int psmouse_noext;
int psmouse_resolution;
+
+#ifdef CONFIG_MOUSE_PS2_FORCE_RATE
+unsigned int psmouse_rate = 60;
+#else
unsigned int psmouse_rate;
+#endif
+
int psmouse_smartscroll = PSMOUSE_LOGITECH_SMARTSCROLL;
unsigned int psmouse_resetafter;

@@ -471,16 +477,23 @@
* We set the mouse report rate.
*/

+#ifdef CONFIG_MOUSE_PS2_FORCE_RATE
+ psmouse_set_rate(psmouse);
+#else
if (psmouse_rate)
psmouse_set_rate(psmouse);
+#endif

/*
* We also set the resolution and scaling.
*/

+#ifdef CONFIG_MOUSE_PS2_FORCE_RATE
+ psmouse_set_resolution(psmouse);
+#else
if (psmouse_resolution)
psmouse_set_resolution(psmouse);
-
+#endif
psmouse_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11);

/*
@@ -654,17 +667,22 @@
return 1;
}

+#ifndef CONFIG_MOUSE_PS2_FORCE_RATE
static int __init psmouse_rate_setup(char *str)
{
get_option(&str, &psmouse_rate);
return 1;
}
+#endif

__setup("psmouse_noext", psmouse_noext_setup);
__setup("psmouse_resolution=", psmouse_resolution_setup);
__setup("psmouse_smartscroll=", psmouse_smartscroll_setup);
__setup("psmouse_resetafter=", psmouse_resetafter_setup);
+
+#ifndef CONFIG_MOUSE_PS2_FORCE_RATE
__setup("psmouse_rate=", psmouse_rate_setup);
+#endif

#endif

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmadadigitalmente