All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch 0/2] Make the touchpad on the MSI Wind netbook work
@ 2009-02-05  3:15 Arjan van de Ven
  2009-02-05  3:16 ` [patch 1/2] input: introduce a tougher i8042.reset Arjan van de Ven
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Arjan van de Ven @ 2009-02-05  3:15 UTC (permalink / raw)
  To: linux-input; +Cc: linux-kernel, akpm

Hi,

A MSI Wind (100) netbook landed on my desk with the comment "touchpad
doesn't work in Linux but works in XP". 

It turns out that there are a 2 separate issues with this netbook that
needed fixing 

1) The touchpad requires the equivalent of "i8042.reset", which resets
the controller before probing. (This is done via a DMI quirk in patch
2/2)

2) About half the time, the reset will fail the first time. In the
current code, this is fatal and then also disables the keyboard in
addition to the touchpad. Ungood. Patch 1 makes the kernel retry the
reset upto five times before giving up (it seems the 2nd or 3rd time
succeed for me), and also adds an option to not make such a failure
fatal to the keyboard.

I don't think this is a regression, but it is pretty nasty behavior
(the machine is useless without) so it could be a 2.6.29 candidate...


-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [patch 1/2] input: introduce a tougher i8042.reset
  2009-02-05  3:15 [patch 0/2] Make the touchpad on the MSI Wind netbook work Arjan van de Ven
@ 2009-02-05  3:16 ` Arjan van de Ven
  2009-02-05 21:52     ` Andrew Morton
  2009-02-05  3:17 ` [patch 2/2] input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work Arjan van de Ven
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 18+ messages in thread
From: Arjan van de Ven @ 2009-02-05  3:16 UTC (permalink / raw)
  To: linux-input; +Cc: Arjan van de Ven, linux-kernel, akpm


>From 2c5ccde448ae5f4062802bcd6002f856acbd268f Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan@linux.intel.com>
Date: Tue, 3 Feb 2009 16:26:16 -0800
Subject: [PATCH] input: introduce a tougher i8042.reset

Some touchpads don't reset right the first time (MSI Wind U-100 for
example). This patch will retry the reset up to 5 times.

In addition, this patch also adds a module parameter to not treat
reset failures as fatal to the usage of the device. This prevents
a touchpad failure from also disabling the keyboard....

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
---
 Documentation/kernel-parameters.txt |    2 ++
 drivers/input/serio/i8042.c         |   33 ++++++++++++++++++++++++---------
 2 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index ac613a6..a43e3bd 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -855,6 +855,8 @@ and is between 256 and 4096 characters. It is defined in the file
 			[HW] Frequency with which keyboard LEDs should blink
 			     when kernel panics (default is 0.5 sec)
 	i8042.reset	[HW] Reset the controller during init and cleanup
+	i8042.nonfatal  [HW] Don't treat i8042.reset failures as fatal for the
+			     device initialization.
 	i8042.unlock	[HW] Unlock (ignore) the keylock
 
 	i810=		[HW,DRM]
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
index 170f71e..2473a9a 100644
--- a/drivers/input/serio/i8042.c
+++ b/drivers/input/serio/i8042.c
@@ -47,6 +47,10 @@ static unsigned int i8042_reset;
 module_param_named(reset, i8042_reset, bool, 0);
 MODULE_PARM_DESC(reset, "Reset controller during init and cleanup.");
 
+static unsigned int i8042_nonfatal;
+module_param_named(nonfatal, i8042_nonfatal, bool, 0);
+MODULE_PARM_DESC(reset, "Treat controller test failures as non-fatal.");
+
 static unsigned int i8042_direct;
 module_param_named(direct, i8042_direct, bool, 0);
 MODULE_PARM_DESC(direct, "Put keyboard port into non-translated mode.");
@@ -712,22 +716,33 @@ static int i8042_controller_check(void)
 static int i8042_controller_selftest(void)
 {
 	unsigned char param;
+	int i = 0;
 
 	if (!i8042_reset)
 		return 0;
 
-	if (i8042_command(&param, I8042_CMD_CTL_TEST)) {
-		printk(KERN_ERR "i8042.c: i8042 controller self test timeout.\n");
-		return -ENODEV;
-	}
+	/*
+	 * We try this 5 times; on some really fragile systems this does not
+	 * take the first time...
+	 */
+	do {
+
+		if (i8042_command(&param, I8042_CMD_CTL_TEST)) {
+			printk(KERN_ERR "i8042.c: i8042 controller self test timeout.\n");
+			return -ENODEV;
+		}
+
+		if (param == I8042_RET_CTL_TEST)
+			return 0;
 
-	if (param != I8042_RET_CTL_TEST) {
 		printk(KERN_ERR "i8042.c: i8042 controller selftest failed. (%#x != %#x)\n",
-			 param, I8042_RET_CTL_TEST);
-		return -EIO;
-	}
+			param, I8042_RET_CTL_TEST);
+		msleep(50);
+	} while (i++ < 5);
 
-	return 0;
+	if (i8042_nonfatal)
+		return 0;
+	return -EIO;
 }
 
 /*
-- 
1.6.0.6



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [patch 2/2] input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work
  2009-02-05  3:15 [patch 0/2] Make the touchpad on the MSI Wind netbook work Arjan van de Ven
  2009-02-05  3:16 ` [patch 1/2] input: introduce a tougher i8042.reset Arjan van de Ven
@ 2009-02-05  3:17 ` Arjan van de Ven
  2009-02-06  0:21     ` Andrew Morton
  2009-02-10 20:25 ` [patch 0/2] Make the touchpad on the MSI Wind netbook work Pavel Machek
  2009-02-11  1:45 ` Matthew Garrett
  3 siblings, 1 reply; 18+ messages in thread
From: Arjan van de Ven @ 2009-02-05  3:17 UTC (permalink / raw)
  To: linux-input; +Cc: Arjan van de Ven, linux-kernel, akpm

From: Arjan van de Ven <arjan@linux.intel.com>
Subject: input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work

There are several DMI tables in the i8042 (keyboard) driver already,
but not one for the i8042.reset option. This patch adds such an option
(which also sets the nonfatal flag so that if the reset fails, the keyboard
still works).

Two users for this table are added as well, the MSI Wind U-100 and the
LG X110. The MSI Wind also needs to be in the "don't trust the pnp data"
for the touchpad to work on my machine.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>

--- linux-2.6.28/drivers/input/serio/i8042-x86ia64io.h.org	2009-02-01 18:31:29.000000000 -0800
+++ linux-2.6.28/drivers/input/serio/i8042-x86ia64io.h	2009-02-01 18:35:26.000000000 -0800
@@ -378,6 +378,13 @@ static struct dmi_system_id __initdata i
 			DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
 		},
 	},
+	{
+		.ident = "MSI Wind U-100",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+		},
+	},
 	{ }
 };
 #endif
@@ -448,6 +455,25 @@ static struct dmi_system_id __initdata i
 	{ }
 };
 
+static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
+	{
+		.ident = "MSI Wind U-100",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+		},
+	},
+	{
+		.ident = "LG Electronics X110",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "X110"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."),
+		},
+	},
+	{ }
+};
+
+
 #endif /* CONFIG_X86 */
 
 #ifdef CONFIG_PNP
@@ -564,6 +583,11 @@ static int __init i8042_pnp_init(void)
 		i8042_nopnp = 1;
 #endif
 
+	if (dmi_check_system(i8042_dmi_reset_table)) {
+		i8042_reset = 1;
+		i8042_nonfatal = 1;
+	}
+
 	if (i8042_nopnp) {
 		printk(KERN_INFO "i8042: PNP detection disabled\n");
 		return 0;

-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 1/2] input: introduce a tougher i8042.reset
  2009-02-05  3:16 ` [patch 1/2] input: introduce a tougher i8042.reset Arjan van de Ven
@ 2009-02-05 21:52     ` Andrew Morton
  0 siblings, 0 replies; 18+ messages in thread
From: Andrew Morton @ 2009-02-05 21:52 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-input, arjan, linux-kernel

On Wed, 4 Feb 2009 19:16:31 -0800
Arjan van de Ven <arjan@infradead.org> wrote:

> Some touchpads don't reset right the first time (MSI Wind U-100 for
> example). This patch will retry the reset up to 5 times.

Sigh, real life sucks.  I wonder what the windows driver does.

> In addition, this patch also adds a module parameter to not treat
> reset failures as fatal to the usage of the device. This prevents
> a touchpad failure from also disabling the keyboard....
> 

Is there any reason why we shouldn't just do this all the time?

IOW, is there any benefit in marking the 8042 as dead?


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 1/2] input: introduce a tougher i8042.reset
@ 2009-02-05 21:52     ` Andrew Morton
  0 siblings, 0 replies; 18+ messages in thread
From: Andrew Morton @ 2009-02-05 21:52 UTC (permalink / raw)
  Cc: linux-input, arjan, linux-kernel

On Wed, 4 Feb 2009 19:16:31 -0800
Arjan van de Ven <arjan@infradead.org> wrote:

> Some touchpads don't reset right the first time (MSI Wind U-100 for
> example). This patch will retry the reset up to 5 times.

Sigh, real life sucks.  I wonder what the windows driver does.

> In addition, this patch also adds a module parameter to not treat
> reset failures as fatal to the usage of the device. This prevents
> a touchpad failure from also disabling the keyboard....
> 

Is there any reason why we shouldn't just do this all the time?

IOW, is there any benefit in marking the 8042 as dead?


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 2/2] input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work
  2009-02-05  3:17 ` [patch 2/2] input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work Arjan van de Ven
@ 2009-02-06  0:21     ` Andrew Morton
  0 siblings, 0 replies; 18+ messages in thread
From: Andrew Morton @ 2009-02-06  0:21 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-input, arjan, linux-kernel

On Wed, 4 Feb 2009 19:17:28 -0800
Arjan van de Ven <arjan@infradead.org> wrote:

> There are several DMI tables in the i8042 (keyboard) driver already,
> but not one for the i8042.reset option. This patch adds such an option
> (which also sets the nonfatal flag so that if the reset fails, the keyboard
> still works).
> 
> Two users for this table are added as well, the MSI Wind U-100 and the
> LG X110. The MSI Wind also needs to be in the "don't trust the pnp data"
> for the touchpad to work on my machine.

x86_64 allnoconfig:

drivers/input/serio/i8042-x86ia64io.h:458: warning: 'i8042_dmi_reset_table' defined but not used


From: Andrew Morton <akpm@linux-foundation.org>

drivers/input/serio/i8042-x86ia64io.h:458: warning: 'i8042_dmi_reset_table' defined but not used

Fix this by moving both i8042_dmi_nopnp_tablep[] and i8042_dmi_reset_table[]
into a section which requires CONFIG_PNP and CONFIG_X86.  Give their
usage sites the same treatment.

Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/input/serio/i8042-x86ia64io.h |   79 +++++++++++-------------
 1 file changed, 39 insertions(+), 40 deletions(-)

diff -puN drivers/input/serio/i8042-x86ia64io.h~input-add-a-dmi-table-for-the-i8042reset-option-make-msi-wind-u-100-work-fix drivers/input/serio/i8042-x86ia64io.h
--- a/drivers/input/serio/i8042-x86ia64io.h~input-add-a-dmi-table-for-the-i8042reset-option-make-msi-wind-u-100-work-fix
+++ a/drivers/input/serio/i8042-x86ia64io.h
@@ -369,26 +369,6 @@ static struct dmi_system_id __initdata i
 	{ }
 };
 
-#ifdef CONFIG_PNP
-static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = {
-	{
-		.ident = "Intel MBO Desktop D845PESV",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "D845PESV"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
-		},
-	},
-	{
-		.ident = "MSI Wind U-100",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
-		},
-	},
-	{ }
-};
-#endif
-
 /*
  * Some Wistron based laptops need us to explicitly enable the 'Dritek
  * keyboard extension' to make their extra keys start generating scancodes.
@@ -455,25 +435,6 @@ static struct dmi_system_id __initdata i
 	{ }
 };
 
-static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
-	{
-		.ident = "MSI Wind U-100",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
-		},
-	},
-	{
-		.ident = "LG Electronics X110",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "X110"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."),
-		},
-	},
-	{ }
-};
-
-
 #endif /* CONFIG_X86 */
 
 #ifdef CONFIG_PNP
@@ -492,6 +453,44 @@ static int i8042_pnp_aux_irq;
 static char i8042_pnp_kbd_name[32];
 static char i8042_pnp_aux_name[32];
 
+#ifdef CONFIG_X86
+static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = {
+	{
+		.ident = "Intel MBO Desktop D845PESV",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "D845PESV"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
+		},
+	},
+	{
+		.ident = "MSI Wind U-100",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+		},
+	},
+	{ }
+};
+
+static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
+	{
+		.ident = "MSI Wind U-100",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+		},
+	},
+	{
+		.ident = "LG Electronics X110",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "X110"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."),
+		},
+	},
+	{ }
+};
+#endif
+
 static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id *did)
 {
 	if (pnp_port_valid(dev, 0) && pnp_port_len(dev, 0) == 1)
@@ -588,12 +587,12 @@ static int __init i8042_pnp_init(void)
 #ifdef CONFIG_X86
 	if (dmi_check_system(i8042_dmi_nopnp_table))
 		i8042_nopnp = 1;
-#endif
 
 	if (dmi_check_system(i8042_dmi_reset_table)) {
 		i8042_reset = 1;
 		i8042_nonfatal = 1;
 	}
+#endif
 
 	if (i8042_nopnp) {
 		printk(KERN_INFO "i8042: PNP detection disabled\n");
_


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 2/2] input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work
@ 2009-02-06  0:21     ` Andrew Morton
  0 siblings, 0 replies; 18+ messages in thread
From: Andrew Morton @ 2009-02-06  0:21 UTC (permalink / raw)
  Cc: linux-input, arjan, linux-kernel

On Wed, 4 Feb 2009 19:17:28 -0800
Arjan van de Ven <arjan@infradead.org> wrote:

> There are several DMI tables in the i8042 (keyboard) driver already,
> but not one for the i8042.reset option. This patch adds such an option
> (which also sets the nonfatal flag so that if the reset fails, the keyboard
> still works).
> 
> Two users for this table are added as well, the MSI Wind U-100 and the
> LG X110. The MSI Wind also needs to be in the "don't trust the pnp data"
> for the touchpad to work on my machine.

x86_64 allnoconfig:

drivers/input/serio/i8042-x86ia64io.h:458: warning: 'i8042_dmi_reset_table' defined but not used


From: Andrew Morton <akpm@linux-foundation.org>

drivers/input/serio/i8042-x86ia64io.h:458: warning: 'i8042_dmi_reset_table' defined but not used

Fix this by moving both i8042_dmi_nopnp_tablep[] and i8042_dmi_reset_table[]
into a section which requires CONFIG_PNP and CONFIG_X86.  Give their
usage sites the same treatment.

Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/input/serio/i8042-x86ia64io.h |   79 +++++++++++-------------
 1 file changed, 39 insertions(+), 40 deletions(-)

diff -puN drivers/input/serio/i8042-x86ia64io.h~input-add-a-dmi-table-for-the-i8042reset-option-make-msi-wind-u-100-work-fix drivers/input/serio/i8042-x86ia64io.h
--- a/drivers/input/serio/i8042-x86ia64io.h~input-add-a-dmi-table-for-the-i8042reset-option-make-msi-wind-u-100-work-fix
+++ a/drivers/input/serio/i8042-x86ia64io.h
@@ -369,26 +369,6 @@ static struct dmi_system_id __initdata i
 	{ }
 };
 
-#ifdef CONFIG_PNP
-static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = {
-	{
-		.ident = "Intel MBO Desktop D845PESV",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "D845PESV"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
-		},
-	},
-	{
-		.ident = "MSI Wind U-100",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
-		},
-	},
-	{ }
-};
-#endif
-
 /*
  * Some Wistron based laptops need us to explicitly enable the 'Dritek
  * keyboard extension' to make their extra keys start generating scancodes.
@@ -455,25 +435,6 @@ static struct dmi_system_id __initdata i
 	{ }
 };
 
-static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
-	{
-		.ident = "MSI Wind U-100",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
-		},
-	},
-	{
-		.ident = "LG Electronics X110",
-		.matches = {
-			DMI_MATCH(DMI_BOARD_NAME, "X110"),
-			DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."),
-		},
-	},
-	{ }
-};
-
-
 #endif /* CONFIG_X86 */
 
 #ifdef CONFIG_PNP
@@ -492,6 +453,44 @@ static int i8042_pnp_aux_irq;
 static char i8042_pnp_kbd_name[32];
 static char i8042_pnp_aux_name[32];
 
+#ifdef CONFIG_X86
+static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = {
+	{
+		.ident = "Intel MBO Desktop D845PESV",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "D845PESV"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
+		},
+	},
+	{
+		.ident = "MSI Wind U-100",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+		},
+	},
+	{ }
+};
+
+static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
+	{
+		.ident = "MSI Wind U-100",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+		},
+	},
+	{
+		.ident = "LG Electronics X110",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "X110"),
+			DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."),
+		},
+	},
+	{ }
+};
+#endif
+
 static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id *did)
 {
 	if (pnp_port_valid(dev, 0) && pnp_port_len(dev, 0) == 1)
@@ -588,12 +587,12 @@ static int __init i8042_pnp_init(void)
 #ifdef CONFIG_X86
 	if (dmi_check_system(i8042_dmi_nopnp_table))
 		i8042_nopnp = 1;
-#endif
 
 	if (dmi_check_system(i8042_dmi_reset_table)) {
 		i8042_reset = 1;
 		i8042_nonfatal = 1;
 	}
+#endif
 
 	if (i8042_nopnp) {
 		printk(KERN_INFO "i8042: PNP detection disabled\n");
_


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 1/2] input: introduce a tougher i8042.reset
  2009-02-05 21:52     ` Andrew Morton
  (?)
@ 2009-02-06  0:35     ` Arjan van de Ven
  -1 siblings, 0 replies; 18+ messages in thread
From: Arjan van de Ven @ 2009-02-06  0:35 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-input, linux-kernel

On Thu, 5 Feb 2009 13:52:29 -0800
Andrew Morton <akpm@linux-foundation.org> wrote:

> On Wed, 4 Feb 2009 19:16:31 -0800
> Arjan van de Ven <arjan@infradead.org> wrote:
> 
> > Some touchpads don't reset right the first time (MSI Wind U-100 for
> > example). This patch will retry the reset up to 5 times.
> 
> Sigh, real life sucks.  I wonder what the windows driver does.

I have no idea; but this worked for me.
I bet the windows driver just retries as well.

> 
> > In addition, this patch also adds a module parameter to not treat
> > reset failures as fatal to the usage of the device. This prevents
> > a touchpad failure from also disabling the keyboard....
> > 
> 
> Is there any reason why we shouldn't just do this all the time?
> 
> IOW, is there any benefit in marking the 8042 as dead?

if it really is not there, then the kernel later will stall talking to
it.... for the "normal" headless server case.
At least I suppose. The input people need to jump in on this one.. I
didn't want to do a mass behavior change on something this fragile.



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-05  3:15 [patch 0/2] Make the touchpad on the MSI Wind netbook work Arjan van de Ven
  2009-02-05  3:16 ` [patch 1/2] input: introduce a tougher i8042.reset Arjan van de Ven
  2009-02-05  3:17 ` [patch 2/2] input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work Arjan van de Ven
@ 2009-02-10 20:25 ` Pavel Machek
  2009-02-10 22:00   ` Rafael J. Wysocki
  2009-02-10 23:06   ` Arjan van de Ven
  2009-02-11  1:45 ` Matthew Garrett
  3 siblings, 2 replies; 18+ messages in thread
From: Pavel Machek @ 2009-02-10 20:25 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-input, linux-kernel, akpm

On Wed 2009-02-04 19:15:40, Arjan van de Ven wrote:
> Hi,
> 
> A MSI Wind (100) netbook landed on my desk with the comment "touchpad
> doesn't work in Linux but works in XP". 
> 
> It turns out that there are a 2 separate issues with this netbook that
> needed fixing 
> 
> 1) The touchpad requires the equivalent of "i8042.reset", which resets
> the controller before probing. (This is done via a DMI quirk in patch
> 2/2)
> 
> 2) About half the time, the reset will fail the first time. In the
> current code, this is fatal and then also disables the keyboard in
> addition to the touchpad. Ungood. Patch 1 makes the kernel retry the
> reset upto five times before giving up (it seems the 2nd or 3rd time
> succeed for me), and also adds an option to not make such a failure
> fatal to the keyboard.
> 
> I don't think this is a regression, but it is pretty nasty behavior
> (the machine is useless without) so it could be a 2.6.29 candidate...

Well, that beast was selling with linux preloaded, no? Or was it
another msi wind? In such case I'd expect old kernel to work... or
maybe some reasonable workaround somewhere...

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-10 20:25 ` [patch 0/2] Make the touchpad on the MSI Wind netbook work Pavel Machek
@ 2009-02-10 22:00   ` Rafael J. Wysocki
  2009-02-11  1:00     ` Jiri Kosina
  2009-02-10 23:06   ` Arjan van de Ven
  1 sibling, 1 reply; 18+ messages in thread
From: Rafael J. Wysocki @ 2009-02-10 22:00 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Arjan van de Ven, linux-input, linux-kernel, akpm

On Tuesday 10 February 2009, Pavel Machek wrote:
> On Wed 2009-02-04 19:15:40, Arjan van de Ven wrote:
> > Hi,
> > 
> > A MSI Wind (100) netbook landed on my desk with the comment "touchpad
> > doesn't work in Linux but works in XP". 
> > 
> > It turns out that there are a 2 separate issues with this netbook that
> > needed fixing 
> > 
> > 1) The touchpad requires the equivalent of "i8042.reset", which resets
> > the controller before probing. (This is done via a DMI quirk in patch
> > 2/2)
> > 
> > 2) About half the time, the reset will fail the first time. In the
> > current code, this is fatal and then also disables the keyboard in
> > addition to the touchpad. Ungood. Patch 1 makes the kernel retry the
> > reset upto five times before giving up (it seems the 2nd or 3rd time
> > succeed for me), and also adds an option to not make such a failure
> > fatal to the keyboard.
> > 
> > I don't think this is a regression, but it is pretty nasty behavior
> > (the machine is useless without) so it could be a 2.6.29 candidate...
> 
> Well, that beast was selling with linux preloaded, no? Or was it
> another msi wind? In such case I'd expect old kernel to work... or
> maybe some reasonable workaround somewhere...

In fact I have an MSI Wind and the touchpad is works on it just fine with the
current mainline.

Perhaps this one is just another MSI Wind.  What model is it?

Rafael

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-10 20:25 ` [patch 0/2] Make the touchpad on the MSI Wind netbook work Pavel Machek
  2009-02-10 22:00   ` Rafael J. Wysocki
@ 2009-02-10 23:06   ` Arjan van de Ven
  1 sibling, 0 replies; 18+ messages in thread
From: Arjan van de Ven @ 2009-02-10 23:06 UTC (permalink / raw)
  To: Pavel Machek; +Cc: linux-input, linux-kernel, akpm

On Tue, 10 Feb 2009 21:25:58 +0100
Pavel Machek <pavel@suse.cz> wrote:

> On Wed 2009-02-04 19:15:40, Arjan van de Ven wrote:
> > Hi,
> > 
> > A MSI Wind (100) netbook landed on my desk with the comment
> > "touchpad doesn't work in Linux but works in XP". 
> > 
> > It turns out that there are a 2 separate issues with this netbook
> > that needed fixing 
> > 
> > 1) The touchpad requires the equivalent of "i8042.reset", which
> > resets the controller before probing. (This is done via a DMI quirk
> > in patch 2/2)
> > 
> > 2) About half the time, the reset will fail the first time. In the
> > current code, this is fatal and then also disables the keyboard in
> > addition to the touchpad. Ungood. Patch 1 makes the kernel retry the
> > reset upto five times before giving up (it seems the 2nd or 3rd time
> > succeed for me), and also adds an option to not make such a failure
> > fatal to the keyboard.
> > 
> > I don't think this is a regression, but it is pretty nasty behavior
> > (the machine is useless without) so it could be a 2.6.29
> > candidate...
> 
> Well, that beast was selling with linux preloaded, no? Or was it
> another msi wind? In such case I'd expect old kernel to work... or
> maybe some reasonable workaround somewhere...

afaik the newer ones have a different touchpad


> 


-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-10 22:00   ` Rafael J. Wysocki
@ 2009-02-11  1:00     ` Jiri Kosina
  2009-02-11  1:13       ` Arjan van de Ven
  2009-02-11  9:50       ` Rafael J. Wysocki
  0 siblings, 2 replies; 18+ messages in thread
From: Jiri Kosina @ 2009-02-11  1:00 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Pavel Machek, Arjan van de Ven, linux-input, linux-kernel, akpm

On Tue, 10 Feb 2009, Rafael J. Wysocki wrote:

> > Well, that beast was selling with linux preloaded, no? Or was it 
> > another msi wind? In such case I'd expect old kernel to work... or 
> > maybe some reasonable workaround somewhere...
> In fact I have an MSI Wind and the touchpad is works on it just fine with the
> current mainline.
> Perhaps this one is just another MSI Wind.  What model is it?

>From what I have heard there are different models of MSI Wind out there, 
with different set of hardware configurations.

Arjan, Rafael, could you please provide the dmidecode outputs for the 
working and non-working systems, so that we can see what are the 
differences?

Thanks,

-- 
Jiri Kosina
SUSE Labs


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-11  1:00     ` Jiri Kosina
@ 2009-02-11  1:13       ` Arjan van de Ven
  2009-02-11  1:18         ` Jiri Kosina
  2009-02-11  9:50       ` Rafael J. Wysocki
  1 sibling, 1 reply; 18+ messages in thread
From: Arjan van de Ven @ 2009-02-11  1:13 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Rafael J. Wysocki, Pavel Machek, linux-input, linux-kernel, akpm

On Wed, 11 Feb 2009 02:00:21 +0100 (CET)
Jiri Kosina <jkosina@suse.cz> wrote:

> On Tue, 10 Feb 2009, Rafael J. Wysocki wrote:
> 
> > > Well, that beast was selling with linux preloaded, no? Or was it 
> > > another msi wind? In such case I'd expect old kernel to work...
> > > or maybe some reasonable workaround somewhere...
> > In fact I have an MSI Wind and the touchpad is works on it just
> > fine with the current mainline.
> > Perhaps this one is just another MSI Wind.  What model is it?
> 
> >From what I have heard there are different models of MSI Wind out
> >there, 
> with different set of hardware configurations.
> 
> Arjan, Rafael, could you please provide the dmidecode outputs for the 
> working and non-working systems, so that we can see what are the 
> differences?

does this matter for the patch ?


-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-11  1:13       ` Arjan van de Ven
@ 2009-02-11  1:18         ` Jiri Kosina
  0 siblings, 0 replies; 18+ messages in thread
From: Jiri Kosina @ 2009-02-11  1:18 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Rafael J. Wysocki, Pavel Machek, linux-input, linux-kernel, akpm

On Tue, 10 Feb 2009, Arjan van de Ven wrote:

> > > From what I have heard there are different models of MSI Wind out 
> > > there, with different set of hardware configurations.
> > Arjan, Rafael, could you please provide the dmidecode outputs for the 
> > working and non-working systems, so that we can see what are the 
> > differences?
> does this matter for the patch ?

Only in a very minor way -- if the board name in the DMI is the same, we 
could avoid performing the extra resets when not needed by specifying a 
different DMI match criteria.

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-05  3:15 [patch 0/2] Make the touchpad on the MSI Wind netbook work Arjan van de Ven
                   ` (2 preceding siblings ...)
  2009-02-10 20:25 ` [patch 0/2] Make the touchpad on the MSI Wind netbook work Pavel Machek
@ 2009-02-11  1:45 ` Matthew Garrett
  2009-02-11 12:17   ` Jiri Kosina
  3 siblings, 1 reply; 18+ messages in thread
From: Matthew Garrett @ 2009-02-11  1:45 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-input, linux-kernel, akpm

Could 
https://lists.ubuntu.com/archives/kernel-team/2009-February/004335.html 
be related? It seems quite plausible that we want to do this on all 
hardware.

-- 
Matthew Garrett | mjg59@srcf.ucam.org

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-11  1:00     ` Jiri Kosina
  2009-02-11  1:13       ` Arjan van de Ven
@ 2009-02-11  9:50       ` Rafael J. Wysocki
  1 sibling, 0 replies; 18+ messages in thread
From: Rafael J. Wysocki @ 2009-02-11  9:50 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Pavel Machek, Arjan van de Ven, linux-input, linux-kernel, akpm

[-- Attachment #1: Type: text/plain, Size: 783 bytes --]

On Wednesday 11 February 2009, Jiri Kosina wrote:
> On Tue, 10 Feb 2009, Rafael J. Wysocki wrote:
> 
> > > Well, that beast was selling with linux preloaded, no? Or was it 
> > > another msi wind? In such case I'd expect old kernel to work... or 
> > > maybe some reasonable workaround somewhere...
> > In fact I have an MSI Wind and the touchpad is works on it just fine with the
> > current mainline.
> > Perhaps this one is just another MSI Wind.  What model is it?
> 
> From what I have heard there are different models of MSI Wind out there, 
> with different set of hardware configurations.
> 
> Arjan, Rafael, could you please provide the dmidecode outputs for the 
> working and non-working systems, so that we can see what are the 
> differences?

Attached.

Thanks,
Rafael

[-- Attachment #2: wind-dmidecode.log --]
[-- Type: text/x-log, Size: 12591 bytes --]

# dmidecode 2.9
SMBIOS 2.4 present.
45 structures occupying 1626 bytes.
Table at 0x3F607010.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: American Megatrends Inc.
	Version: 4.6.3
	Release Date: 06/26/2008
	Address: 0xF0000
	Runtime Size: 64 kB
	ROM Size: 1024 kB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		ESCD support is available
		Boot from CD is supported
		Selectable boot is supported
		BIOS ROM is socketed
		EDD is supported
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 KB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
		Serial services are supported (int 14h)
		Printer services are supported (int 17h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		LS-120 boot is supported
		ATAPI Zip drive boot is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
	BIOS Revision: 4.6

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
	Product Name: U-100
	Version: Ver.001
	Serial Number: FFFFFFFF
	UUID: 00000000-0000-0000-0000-001D925AD702
	Wake-up Type: Power Switch
	SKU Number: To be filled by O.E.M.
	Family: To be filled by O.E.M.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
	Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
	Product Name: U-100
	Version: Ver.001
	Serial Number: FFFFFFFF
	Asset Tag: To be filled by O.E.M.
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: To be filled by O.E.M.
	Chassis Handle: 0x0003
	Type: Motherboard
	Contained Object Handles: 0

Handle 0x0003, DMI type 3, 21 bytes
Chassis Information
	Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
	Type: Desktop
	Lock: Present
	Version: Ver.001
	Serial Number: FFFFFFFF
	Asset Tag: To Be Filled By O.E.M.
	Boot-up State: Safe
	Power Supply State: Safe
	Thermal State: Safe
	Security Status: None
	OEM Information: 0x00000000
	Height: Unspecified
	Number Of Power Cords: 1
	Contained Elements: 0

Handle 0x0004, DMI type 4, 35 bytes
Processor Information
	Socket Designation: CPU 1
	Type: Central Processor
	Family: Pentium M
	Manufacturer: Intel            
	ID: C2 06 01 00 FF FB E9 BF
	Signature: Type 0, Family 6, Model 28, Stepping 2
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
		CMOV (Conditional move instruction supported)
		PAT (Page attribute table)
		CLFSH (CLFLUSH instruction supported)
		DS (Debug store)
		ACPI (ACPI supported)
		MMX (MMX technology supported)
		FXSR (Fast floating-point save and restore)
		SSE (Streaming SIMD extensions)
		SSE2 (Streaming SIMD extensions 2)
		SS (Self-snoop)
		HTT (Hyper-threading technology)
		TM (Thermal monitor supported)
		PBE (Pending break enabled)
	Version: Intel(R) Atom(TM) CPU N270   @ 1.60GH          
	Voltage: 3.3 V 2.9 V
	External Clock: 533 MHz
	Max Speed: 4000 MHz
	Current Speed: 1599 MHz
	Status: Populated, Enabled
	Upgrade: Other
	L1 Cache Handle: 0x0005
	L2 Cache Handle: 0x0006
	L3 Cache Handle: Not Provided
	Serial Number: To Be Filled By O.E.M.
	Asset Tag: To Be Filled By O.E.M.
	Part Number: To Be Filled By O.E.M.

Handle 0x0005, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L1-Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 24 KB
	Maximum Size: 24 KB
	Supported SRAM Types:
		Other
	Installed SRAM Type: Other
	Speed: Unknown
	Error Correction Type: None
	System Type: Unified
	Associativity: Other

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
	Socket Designation: L2-Cache
	Configuration: Enabled, Not Socketed, Level 2
	Operational Mode: Varies With Memory Address
	Location: Internal
	Installed Size: 512 KB
	Maximum Size: 512 KB
	Supported SRAM Types:
		Other
	Installed SRAM Type: Other
	Speed: Unknown
	Error Correction Type: None
	System Type: Unified
	Associativity: 8-way Set-associative

Handle 0x0007, DMI type 126, 19 bytes
Inactive

Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J1A1
	Internal Connector Type: None
	External Reference Designator: PS2Mouse
	External Connector Type: PS/2
	Port Type: Mouse Port

Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J1A1
	Internal Connector Type: None
	External Reference Designator: Keyboard
	External Connector Type: PS/2
	Port Type: Keyboard Port

Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J2A1
	Internal Connector Type: None
	External Reference Designator: TV Out
	External Connector Type: Mini Centronics Type-14
	Port Type: Other

Handle 0x000B, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J2A2A
	Internal Connector Type: None
	External Reference Designator: COM A
	External Connector Type: DB-9 male
	Port Type: Serial Port 16550A Compatible

Handle 0x000C, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J2A2B
	Internal Connector Type: None
	External Reference Designator: Video
	External Connector Type: DB-15 female
	Port Type: Video Port

Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3A1
	Internal Connector Type: None
	External Reference Designator: USB1
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3A1
	Internal Connector Type: None
	External Reference Designator: USB2
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3A1
	Internal Connector Type: None
	External Reference Designator: USB3
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J5A1
	Internal Connector Type: None
	External Reference Designator: LAN
	External Connector Type: RJ-45
	Port Type: Network Port

Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J5A1
	Internal Connector Type: None
	External Reference Designator: USB4
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J5A1
	Internal Connector Type: None
	External Reference Designator: USB5
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J1E1 - ITP
	Internal Connector Type: Other
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J8J2 - SATA 0
	Internal Connector Type: Other
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x0015, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J7H1 - SATA 1
	Internal Connector Type: Other
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x0016, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3C1 - CPU FAN
	Internal Connector Type: Other
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x0017, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3C1 - CPU FAN
	Internal Connector Type: Other
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x0018, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J4J1 - MAIN POWER
	Internal Connector Type: Other
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x0019, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J6J1 - ITP
	Internal Connector Type: Other
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x001A, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J7J1 - IDE
	Internal Connector Type: On Board IDE
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x001B, DMI type 9, 13 bytes
System Slot Information
	Designation: J6C1
	Type: x16 PCI Express
	Current Usage: Available
	Length: Long
	ID: 0
	Characteristics:
		3.3 V is provided
		Opening is shared
		PME signal is supported

Handle 0x001C, DMI type 9, 13 bytes
System Slot Information
	Designation: J7C1
	Type: x1 PCI Express
	Current Usage: In Use
	Length: Short
	ID: 1
	Characteristics:
		3.3 V is provided
		Opening is shared
		PME signal is supported

Handle 0x001D, DMI type 9, 13 bytes
System Slot Information
	Designation: J8C1
	Type: x1 PCI Express
	Current Usage: In Use
	Length: Short
	ID: 2
	Characteristics:
		3.3 V is provided
		Opening is shared
		PME signal is supported

Handle 0x001E, DMI type 9, 13 bytes
System Slot Information
	Designation: J8B1
	Type: 32-bit PCI
	Current Usage: Available
	Length: Short
	ID: 3
	Characteristics:
		3.3 V is provided
		Opening is shared
		PME signal is supported

Handle 0x001F, DMI type 9, 13 bytes
System Slot Information
	Designation: J9B1
	Type: 32-bit PCI
	Current Usage: Available
	Length: Short
	ID: 4
	Characteristics:
		3.3 V is provided
		Opening is shared
		PME signal is supported

Handle 0x0020, DMI type 10, 6 bytes
On Board Device Information
	Type: Video
	Status: Enabled
	Description:    To Be Filled By O.E.M.

Handle 0x0021, DMI type 10, 6 bytes
On Board Device Information
	Type: <OUT OF SPEC>
	Status: Enabled
	Description: To Be Filled By O.E.M.

Handle 0x0022, DMI type 11, 5 bytes
OEM Strings
	String 1: To Be Filled By O.E.M.

Handle 0x0023, DMI type 12, 5 bytes
System Configuration Options
	Option 1: To Be Filled By O.E.M.

Handle 0x0024, DMI type 13, 22 bytes
BIOS Language Information
	Installable Languages: 1
		en|US|iso8859-1
	Currently Installed Language: en|US|iso8859-1

Handle 0x0025, DMI type 16, 15 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 2048 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x0026, DMI type 19, 15 bytes
Memory Array Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x000000003FF
	Range Size: 1 kB
	Physical Array Handle: 0x0025
	Partition Width: 0

Handle 0x0027, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0025
	Error Information Handle: Not Provided
	Total Width: Unknown
	Data Width: 64 bits
	Size: Unknown
	Form Factor: DIMM
	Set: Unknown
	Locator: DIMM0
	Bank Locator: BANK0
	Type: DDR2
	Type Detail: Synchronous
	Speed: Unknown
	Manufacturer: Manufacturer0
	Serial Number: SerNum0
	Asset Tag: AssetTagNum0
	Part Number: PartNum0

Handle 0x0028, DMI type 20, 19 bytes
Memory Device Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x000000003FF
	Range Size: 1 kB
	Physical Device Handle: 0x0027
	Memory Array Mapped Address Handle: 0x0026
	Partition Row Position: 1

Handle 0x0029, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0025
	Error Information Handle: Not Provided
	Total Width: Unknown
	Data Width: 64 bits
	Size: Unknown
	Form Factor: DIMM
	Set: Unknown
	Locator: DIMM1
	Bank Locator: BANK1
	Type: DDR2
	Type Detail: Synchronous
	Speed: Unknown
	Manufacturer: Manufacturer1
	Serial Number: SerNum1
	Asset Tag: AssetTagNum1
	Part Number: PartNum1

Handle 0x002A, DMI type 20, 19 bytes
Memory Device Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x000000003FF
	Range Size: 1 kB
	Physical Device Handle: 0x0029
	Memory Array Mapped Address Handle: 0x0026
	Partition Row Position: 1

Handle 0x002B, DMI type 32, 20 bytes
System Boot Information
	Status: No errors detected

Handle 0x002C, DMI type 127, 4 bytes
End Of Table


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-11  1:45 ` Matthew Garrett
@ 2009-02-11 12:17   ` Jiri Kosina
  2009-02-11 13:28     ` Andy Whitcroft
  0 siblings, 1 reply; 18+ messages in thread
From: Jiri Kosina @ 2009-02-11 12:17 UTC (permalink / raw)
  To: Matthew Garrett
  Cc: Arjan van de Ven, linux-input, linux-kernel, Andrew Morton,
	Andy Whitcroft

On Wed, 11 Feb 2009, Matthew Garrett wrote:

> https://lists.ubuntu.com/archives/kernel-team/2009-February/004335.html 
> be related? It seems quite plausible that we want to do this on all 
> hardware.

Actually I have also hit this on several machines. Dmitry, I would propose 
to take Andy's patch (maybe even for 2.6.29?), it would save us a lot of 
bugreports in the future.

-- 
Jiri Kosina
SUSE Labs


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [patch 0/2] Make the touchpad on the MSI Wind netbook work
  2009-02-11 12:17   ` Jiri Kosina
@ 2009-02-11 13:28     ` Andy Whitcroft
  0 siblings, 0 replies; 18+ messages in thread
From: Andy Whitcroft @ 2009-02-11 13:28 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Matthew Garrett, Arjan van de Ven, linux-input, linux-kernel,
	Andrew Morton

On Wed, Feb 11, 2009 at 01:17:02PM +0100, Jiri Kosina wrote:
> On Wed, 11 Feb 2009, Matthew Garrett wrote:
> 
> > https://lists.ubuntu.com/archives/kernel-team/2009-February/004335.html 
> > be related? It seems quite plausible that we want to do this on all 
> > hardware.
> 
> Actually I have also hit this on several machines. Dmitry, I would propose 
> to take Andy's patch (maybe even for 2.6.29?), it would save us a lot of 
> bugreports in the future.

Yes I was about to push this upstream.  I was supprised we had not seen
any other reports of it, seems that we have all been seeing it and not
realised.

Including the patch inline for those who prefer to avoid links.

-apw

>From cce152ae74a5084c7e3dffc25032d43908a5fa77 Mon Sep 17 00:00:00 2001
From: Andy Whitcroft <apw@canonical.com>
Date: Mon, 2 Feb 2009 16:32:25 +0000
Subject: [PATCH 1/1] psmouse/synaptics: ensure we reset the device on resume

When resuming from suspend newer Synaptics touchpads do not recover
correctly.  Analysis of the resume sequence as applied in Linux was
compared to that of other operating systems.  This indicated that the
other OSs were resetting the mouse before attempting to detect it (for
all Synaptics touchpads, old and new).  Applying this same modification
fixes these newer Synaptics touchpads and brings the driver into line
with common OS reset behaviour.

This patch adds this reset by default providing a module option to
restore the previous non-reset behaviour:

	psmouse.synaptics_resume_reset=N

Also a message is emmitted on resume hinting as to how to fix a broken
touchpad.

Signed-off-by: Andy Whitcroft <apw@canonical.com>
---
 drivers/input/mouse/synaptics.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index d349c4a..5b01c14 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -60,11 +60,21 @@ static int synaptics_mode_cmd(struct psmouse *psmouse, unsigned char mode)
 	return 0;
 }
 
+static int synaptics_resume_reset = 1;
+module_param(synaptics_resume_reset, bool, 0);
+MODULE_PARM_DESC(synaptics_resume_reset,
+				"Enable reset on resume for Synaptics");
+
 int synaptics_detect(struct psmouse *psmouse, int set_properties)
 {
 	struct ps2dev *ps2dev = &psmouse->ps2dev;
 	unsigned char param[4];
 
+	if (synaptics_resume_reset) {
+		printk(KERN_CRIT "WARNING: synaptics was reset on resume, see synaptics_resume_reset if you have trouble on resume\n");
+		psmouse_reset(psmouse);
+	}
+
 	param[0] = 0;
 
 	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES);
-- 
1.6.1.2.419.g0d87e

^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2009-02-11 13:28 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-05  3:15 [patch 0/2] Make the touchpad on the MSI Wind netbook work Arjan van de Ven
2009-02-05  3:16 ` [patch 1/2] input: introduce a tougher i8042.reset Arjan van de Ven
2009-02-05 21:52   ` Andrew Morton
2009-02-05 21:52     ` Andrew Morton
2009-02-06  0:35     ` Arjan van de Ven
2009-02-05  3:17 ` [patch 2/2] input: add a DMI table for the i8042.reset option; make MSI Wind U-100 work Arjan van de Ven
2009-02-06  0:21   ` Andrew Morton
2009-02-06  0:21     ` Andrew Morton
2009-02-10 20:25 ` [patch 0/2] Make the touchpad on the MSI Wind netbook work Pavel Machek
2009-02-10 22:00   ` Rafael J. Wysocki
2009-02-11  1:00     ` Jiri Kosina
2009-02-11  1:13       ` Arjan van de Ven
2009-02-11  1:18         ` Jiri Kosina
2009-02-11  9:50       ` Rafael J. Wysocki
2009-02-10 23:06   ` Arjan van de Ven
2009-02-11  1:45 ` Matthew Garrett
2009-02-11 12:17   ` Jiri Kosina
2009-02-11 13:28     ` Andy Whitcroft

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.