* [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(¶m, 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(¶m, 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.