[PATCH] Input: synaptics - quirk for Thinkpad E440

Subsystems: input (keyboard, mouse, joystick, touchscreen) drivers, the rest

STALE4164d

6 messages, 3 authors, 2015-03-23 · open the first message on its own page

[PATCH] Input: synaptics - quirk for Thinkpad E440

From: Ramiro Morales <hidden>
Date: 2015-03-19 10:37:29

Its ClickPad shares PNP ID "LEN2006" with the one in model E540 which is
already handled by the driver (both are Haswell iterations of the Edge
line, launched in 2014) but the dimensions it reports are different:

  $ sudo ./touchpad-edge-detector /dev/input/event3
  Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event3
  Move one finger around the touchpad to detect the actual edges
  Kernel says: x [1472..5044], y [1408..3398]
  Touchpad sends: x [1024..5045], y [2457..4832] /^C

Fortunately we can use the board ID, which is also different, to
distinguish among them.

  $ dmesg | grep -i synaptics
  psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1,
      caps: 0xd001a3/0x940300/0x127c00, board id: 2691, fw id: 1494646
  psmouse serio1: synaptics: serio: Synaptics pass-through port at
      isa0060/serio1/input0
  input: SynPS/2 Synaptics TouchPad as
      /devices/platform/i8042/serio1/input/input4

Board ID in E540 is 2722:

  psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1,
      caps: 0xd001a3/0x940300/0x127c00, board id: 2722, fw id: 1484859

(from https://launchpadlibrarian.net/179702965/BootDmesg.txt)

Signed-off-by: Ramiro Morales <redacted>
---
 drivers/input/mouse/synaptics.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index ca7ca8d..880fc49 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -154,6 +154,11 @@ static const struct min_max_quirk min_max_pnpid_table[] = {
 	},
 	{
 		(const char * const []){"LEN2006", NULL},
+		{2691, 2691},
+		1024, 5045, 2457, 4632
+	},
+	{
+		(const char * const []){"LEN2006", NULL},
 		{ANY_BOARD_ID, ANY_BOARD_ID},
 		1264, 5675, 1171, 4688
 	},
@@ -189,7 +194,7 @@ static const char * const topbuttonpad_pnp_ids[] = {
 	"LEN2003",
 	"LEN2004", /* L440 */
 	"LEN2005",
-	"LEN2006",
+	"LEN2006", /* Edge E440/E540 */
 	"LEN2007",
 	"LEN2008",
 	"LEN2009",
-- 
1.9.1

Re: [PATCH] Input: synaptics - quirk for Thinkpad E440

From: Ramiro Morales <hidden>
Date: 2015-03-19 15:17:34

On Thu, Mar 19, 2015 at 7:37 AM, Ramiro Morales [off-list ref] wrote:
Subject: [PATCH] Input: synaptics - quirk for Thinkpad E440

Its ClickPad shares PNP ID "LEN2006" with the one in model E540 which is
already handled by the driver (both are Haswell iterations of the Edge
line, launched in 2014) but the dimensions it reports are different:
Clarification: This patch is against the synaptics branch.

Regards,

-- 
Ramiro Morales

Re: [PATCH] Input: synaptics - quirk for Thinkpad E440

From: Benjamin Tissoires <hidden>
Date: 2015-03-19 22:15:46

On Thu, Mar 19, 2015 at 11:17 AM, Ramiro Morales [off-list ref] wrote:
On Thu, Mar 19, 2015 at 7:37 AM, Ramiro Morales [off-list ref] wrote:
quoted
Subject: [PATCH] Input: synaptics - quirk for Thinkpad E440

Its ClickPad shares PNP ID "LEN2006" with the one in model E540 which is
already handled by the driver (both are Haswell iterations of the Edge
line, launched in 2014) but the dimensions it reports are different:
Clarification: This patch is against the synaptics branch.
Then I am even more surprised that you need to quirk a late 2014
haswell refresh.

Can you post your dmesg when booting the synaptics branch so that we
can check if the FW has the correct values stored or if we really need
to quirk it?

Cheers,
Benjamin
Regards,

--
Ramiro Morales
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: [PATCH] Input: synaptics - quirk for Thinkpad E440

From: Ramiro Morales <hidden>
Date: 2015-03-21 13:24:23

On Thu, Mar 19, 2015 at 7:15 PM, Benjamin Tissoires
[off-list ref] wrote:
Then I am even more surprised that you need to quirk a late 2014
haswell refresh.

Can you post your dmesg when booting the synaptics branch so that we
can check if the FW has the correct values stored or if we really need
to quirk it?
On Thu, Mar 19, 2015 at 7:15 PM, Benjamin Tissoires
[off-list ref] wrote:
Then I am even more surprised that you need to quirk a late 2014
haswell refresh.
Actually the laptop manufacturing date is Nov '13, I bought it on May.

This patch is almost a year late because I had a false start
submitting fixes through the Ubuntu BTS[1] only to discover that a
clashing quirk for the E540 got added upstream about the same time.
The ability to include the board ID in the quirk table logic added by
this branch provides a way out.
Can you post your dmesg when booting the synaptics branch so that we
can check if the FW has the correct values stored or if we really need
to quirk it?
Here it is:

https://dl.dropboxusercontent.com/u/5403630/dmesg_thinkpad_e440_synaptics_8f004f3f.txt

Regards,


[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1395243
[2] https://git.kernel.org/cgit/linux/kernel/git/dtor/input.git/commit/?id=bce4f9e764c36bc35dd5c9cf9e057c09f422397d

--
Ramiro Morales

Re: [PATCH] Input: synaptics - quirk for Thinkpad E440

From: Benjamin Tissoires <hidden>
Date: 2015-03-23 16:58:20

On Sat, Mar 21, 2015 at 9:24 AM, Ramiro Morales [off-list ref] wrote:
On Thu, Mar 19, 2015 at 7:15 PM, Benjamin Tissoires
[off-list ref] wrote:
quoted
Then I am even more surprised that you need to quirk a late 2014
haswell refresh.

Can you post your dmesg when booting the synaptics branch so that we
can check if the FW has the correct values stored or if we really need
to quirk it?
On Thu, Mar 19, 2015 at 7:15 PM, Benjamin Tissoires
[off-list ref] wrote:
quoted
Then I am even more surprised that you need to quirk a late 2014
haswell refresh.
Actually the laptop manufacturing date is Nov '13, I bought it on May.

This patch is almost a year late because I had a false start
submitting fixes through the Ubuntu BTS[1] only to discover that a
clashing quirk for the E540 got added upstream about the same time.
The ability to include the board ID in the quirk table logic added by
this branch provides a way out.
quoted
Can you post your dmesg when booting the synaptics branch so that we
can check if the FW has the correct values stored or if we really need
to quirk it?
Here it is:

https://dl.dropboxusercontent.com/u/5403630/dmesg_thinkpad_e440_synaptics_8f004f3f.txt
Thanks for all these information. So indeed, your patch is entirely
valid and is:
Reviewed-by: Benjamin Tissoires <redacted>

Cheers,
Benjamin
Regards,


[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1395243
[2] https://git.kernel.org/cgit/linux/kernel/git/dtor/input.git/commit/?id=bce4f9e764c36bc35dd5c9cf9e057c09f422397d

--
Ramiro Morales
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: [PATCH] Input: synaptics - quirk for Thinkpad E440

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2015-03-23 17:34:48

On Mon, Mar 23, 2015 at 12:58:16PM -0400, Benjamin Tissoires wrote:
On Sat, Mar 21, 2015 at 9:24 AM, Ramiro Morales [off-list ref] wrote:
quoted
On Thu, Mar 19, 2015 at 7:15 PM, Benjamin Tissoires
[off-list ref] wrote:
quoted
Then I am even more surprised that you need to quirk a late 2014
haswell refresh.

Can you post your dmesg when booting the synaptics branch so that we
can check if the FW has the correct values stored or if we really need
to quirk it?
On Thu, Mar 19, 2015 at 7:15 PM, Benjamin Tissoires
[off-list ref] wrote:
quoted
Then I am even more surprised that you need to quirk a late 2014
haswell refresh.
Actually the laptop manufacturing date is Nov '13, I bought it on May.

This patch is almost a year late because I had a false start
submitting fixes through the Ubuntu BTS[1] only to discover that a
clashing quirk for the E540 got added upstream about the same time.
The ability to include the board ID in the quirk table logic added by
this branch provides a way out.
quoted
Can you post your dmesg when booting the synaptics branch so that we
can check if the FW has the correct values stored or if we really need
to quirk it?
Here it is:

https://dl.dropboxusercontent.com/u/5403630/dmesg_thinkpad_e440_synaptics_8f004f3f.txt
Thanks for all these information. So indeed, your patch is entirely
valid and is:
Reviewed-by: Benjamin Tissoires <redacted>
Applied, thank you.
Cheers,
Benjamin
quoted
Regards,


[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1395243
[2] https://git.kernel.org/cgit/linux/kernel/git/dtor/input.git/commit/?id=bce4f9e764c36bc35dd5c9cf9e057c09f422397d

--
Ramiro Morales
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help