From patchwork Wed May 25 12:32:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ben Gamari X-Patchwork-Id: 9135259 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 697416075C for ; Wed, 25 May 2016 12:32:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5C22E281E3 for ; Wed, 25 May 2016 12:32:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 503B4282D4; Wed, 25 May 2016 12:32:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_TVD_MIME_EPI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D2BF8281E3 for ; Wed, 25 May 2016 12:32:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754389AbcEYMcg (ORCPT ); Wed, 25 May 2016 08:32:36 -0400 Received: from mail.smart-cactus.org ([54.187.36.80]:56173 "EHLO mail.smart-cactus.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752005AbcEYMcg (ORCPT ); Wed, 25 May 2016 08:32:36 -0400 Received: from localhost.localdomain (HSI-KBW-46-237-229-123.hsi.kabel-badenwuerttemberg.de [46.237.229.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: ben@smart-cactus.org) by mail.smart-cactus.org (Postfix) with ESMTPSA id ED4844011E; Wed, 25 May 2016 12:16:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.smart-cactus.org; s=mail; t=1464178573; bh=RmYBKajoYHp2PsxscXrUdOyNoU3pUHRr6W1GhVK2lUI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=dOKJEusfmJ4pukBpZqNCbtgnClxoKspqPW+BZbSjoj+n5yVq6icVz7AstFTGW1nUK K1SpXxJLZimVQi+qpuCBEcpNghbk0JJn+t8LmwsfJUnCWpz1dgFLmXgFtCfZeKYPTr 8WqnHdwUR3vj90uVNhktSOuAxWaZb+HONoYDIcTE= From: Ben Gamari To: Pali =?utf-8?Q?Roh=C3=A1r?= , Allen_Hung@Dell.com Cc: Mario_Limonciello@Dell.com, linux-input@vger.kernel.org Subject: Re: Dell Latitude E7470 touchpad status In-Reply-To: <20160525073949.GY29844@pali> References: <87eg9j6zf7.fsf@smart-cactus.org> <23E0F704395E694FA4710C833FA087E50D40B8BF13@TPEX7ADC101.APAC.DELL.COM> <87bn45gr0e.fsf@smart-cactus.org> <20160517082309.GZ29844@pali> <877fet10a9.fsf@smart-cactus.org> <20160517131629.GE29844@pali> <23E0F704395E694FA4710C833FA087E50D40B8C592@TPEX7ADC101.APAC.DELL.COM> <20160517152239.GF29844@pali> <23E0F704395E694FA4710C833FA087E50D40D0723A@TPEX7ADC101.APAC.DELL.COM> <20160525073949.GY29844@pali> User-Agent: Notmuch/0.21+24~gbceb651 (http://notmuchmail.org) Emacs/25.0.92.1 (x86_64-pc-linux-gnu) Date: Wed, 25 May 2016 14:32:28 +0200 Message-ID: <877feijp2b.fsf@smart-cactus.org> MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Pali Rohár writes: > Hi Allen, thank you for confirmation. > > Ben, V8 protocol is supported by linux kernel since version 4.1. Do you > have needed version? If yes and your touchpad does not work, please > compile psmouse.ko in debug mode and send us dmesg output. Maybe there > can be something interesting... > The first attached patch gets me partly there; I see multitouch events, the pressure appears to reflect reality, and things generally work as expected. That is, until I try to touch the touchstick, which causes the pointer to jump around wildly. The second attached patch makes things behave slightly better, but the touchstick still does not work as expected. Settting ALPS_PS2_INTERLEAVED as well doesn't appear to change anything. Ideas? Cheers, - Ben From 73f99f86c77d39ff512f2064ca9f2002c6404dd9 Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Wed, 25 May 2016 14:19:53 +0200 Subject: [PATCH 1/2] alps: Add touchpad for Dell Latitude E7470 However, this still isn't quite right as the touchstick appears to corrupt the event stream. --- drivers/input/mouse/alps.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 936f07a..a0c5dfe 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -2767,6 +2767,9 @@ static int alps_identify(struct psmouse *psmouse, struct alps_data *priv) } else if (e7[0] == 0x73 && e7[1] == 0x03 && e7[2] == 0x14 && ec[1] == 0x02) { protocol = &alps_v8_protocol_data; + } else if (e7[0] == 0x73 && e7[1] == 0x03 && + e7[2] == 0x28 && ec[1] == 0x01) { + protocol = &alps_v8_protocol_data; } else { psmouse_dbg(psmouse, "Likely not an ALPS touchpad: E7=%3ph, EC=%3ph\n", e7, ec); -- 2.8.1 From ea668a46bfbc4165841368a75b197febb09c5b33 Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Wed, 25 May 2016 14:22:05 +0200 Subject: [PATCH 2/2] Try setting ALPS_DUALPOINT --- drivers/input/mouse/alps.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index a0c5dfe..a034933 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -138,6 +138,7 @@ static const struct alps_model_info alps_model_data[] = { { { 0x52, 0x01, 0x14 }, 0x00, { ALPS_PROTO_V2, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED } }, /* Toshiba Tecra A11-11L */ { { 0x73, 0x02, 0x64 }, 0x8a, { ALPS_PROTO_V4, 0x8f, 0x8f, 0 } }, + { { 0x73, 0x03, 0x28 }, 0x00, { ALPS_PROTO_V8, 0x18, 0x18, ALPS_DUALPOINT } }, /* Dell Latitude E7470 */ }; static const struct alps_protocol_info alps_v3_protocol_data = { @@ -2767,9 +2768,6 @@ static int alps_identify(struct psmouse *psmouse, struct alps_data *priv) } else if (e7[0] == 0x73 && e7[1] == 0x03 && e7[2] == 0x14 && ec[1] == 0x02) { protocol = &alps_v8_protocol_data; - } else if (e7[0] == 0x73 && e7[1] == 0x03 && - e7[2] == 0x28 && ec[1] == 0x01) { - protocol = &alps_v8_protocol_data; } else { psmouse_dbg(psmouse, "Likely not an ALPS touchpad: E7=%3ph, EC=%3ph\n", e7, ec);