Received: by 10.213.65.68 with SMTP id h4csp3759925imn; Tue, 3 Apr 2018 10:10:53 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+Rd7niEQ251SalG3Rv94E9pjMOW0dHuKvA3FmLFukotUGLG8z0K1Bb/u08w1h61Zu0/mf2 X-Received: by 2002:a17:902:a981:: with SMTP id bh1-v6mr15317198plb.255.1522775453066; Tue, 03 Apr 2018 10:10:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522775453; cv=none; d=google.com; s=arc-20160816; b=kAR2XhVUUbseV+T3Oo4ianV8irUhr2nU0eXk7DtVK9ToRNKt15g67wJsGvBnETw0pS b8OqAo3Flv2U9n7IQlZcmiIxLs9uhiC1T7sUU0GEvDI+CXXb6ss0gzks4iTnZx281K6k fbDoHD0UbVu3NH157Yo6QW70LaC2dVA9OD1G8+PwECZLkxF5/n4WO+kEWhBLjd7qLlMR O+C1cRrovbAlHmlazcNHVkS1Agnoox7o/4dZyJiLKj9eRQmgYjwuGSxv5RLugAJFftBF UpIbDvPBQBHlYa6WFb8DahsmCKDyusaIeEZXSfqBzVPJnXUqoTTrfF04p/iCAhMSecoF E+bQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=/oQ3poYoaIhoRg/EgOGM+fmzdO3F9V6UVNLopsP3C6o=; b=SPLBp/aASkekxwrokjb30PnRJOB0y1JJB/Luh2ovEEFYJqp9uyzN7isE+nZ4gQZjc5 lMweNWQ+HfQdNs55ad6dALkzP/TRKM724DqA1HYMsNR6UcT2hcLPITeWpKI/JfnNfbwW jN3mxp8QvIzCfpBqDWAIP60/6vK+s+jif9o6ZqqANOxheRNk1KHh+NC+zhzvqJQ4Q6cR zxgGeCNPuO0Rxcfhf3JpqcMsOfXoeK9z5fU2eD7iZ9uZ92jNygkjO22DCrn809Xy6au9 ONzd5zX0UKj8QkUSl2hD36WzP3ge0/taFoDsbWoMQKUwmb6JfZQgnAG4Hwstf7kTW0Jv hMBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@rainbow-software.org header.s=atlsmtp header.b=Ib/ffIuL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p15si2218741pgn.17.2018.04.03.10.10.39; Tue, 03 Apr 2018 10:10:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=temperror (no key for signature) header.i=@rainbow-software.org header.s=atlsmtp header.b=Ib/ffIuL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752388AbeDCRIS (ORCPT + 99 others); Tue, 3 Apr 2018 13:08:18 -0400 Received: from smtp-1b.atlantis.sk ([80.94.52.26]:58504 "EHLO smtp-1b.atlantis.sk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751376AbeDCRIQ (ORCPT ); Tue, 3 Apr 2018 13:08:16 -0400 Received: from gsql.ggedos.sk (off-7.infotel.telecom.sk [212.5.213.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp-1b.atlantis.sk (Postfix) with ESMTPSA id B0E0283491A4; Tue, 3 Apr 2018 19:08:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=rainbow-software.org; s=atlsmtp; t=1522775294; bh=Dj3f2Zr661sjxLsJp+ZPYihQquaNDg/go+CONPkusH4=; h=From:To:Cc:Subject:Date; b=Ib/ffIuLdYNFAp/ZHitAkGBD2cadcXACLscqbN49sg6mz2rrwWf3y/r+OIMDxqTkR t6kHQQsCTEqcp/7VQQR56lS3DqNqZX4C5NmP0n1JQBrP87kefaXU+fLKyP3vjNyurF L0tVIMV+KYsKNDy93g5yCH2sIccBgS6Hgo4W7Zmo= From: Ondrej Zary To: Dmitry Torokhov Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] i8042: Enable MUX on Sony VAIO VGN-CS series to fix touchpad Date: Tue, 3 Apr 2018 19:08:10 +0200 Message-Id: <20180403170810.32005-1-linux@rainbow-software.org> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The touch sensor buttons on Sony VAIO VGN-CS series laptops (e.g. VGN-CS31S) are a separate PS/2 device. As the MUX is disabled for all VAIO machines by the nomux blacklist, the data from touch sensor buttons and touchpad are combined. The protocol used by the buttons is probably similar to the touchpad protocol (both are Synaptics) so both devices get enabled. The controller combines the data, creating a mess which results in random button clicks, touchpad stopping working and lost sync error messages: psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 4 psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1 psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1 psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1 psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1 psmouse serio1: issuing reconnect request Add a new i8042_dmi_forcemux_table whitelist with VGN-CS. With MUX enabled, touch sensor buttons are detected as separate device (and left disabled as there's currently no driver), fixing all touchpad problems. Signed-off-by: Ondrej Zary --- drivers/input/serio/i8042-x86ia64io.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index 6cbbdc6e9687..56644c74828c 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h @@ -530,6 +530,20 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = { { } }; +static const struct dmi_system_id __initconst i8042_dmi_forcemux_table[] = { + { + /* + * Sony Vaio VGN-CS series require MUX or the touch sensor + * buttons will disturb touchpad operation + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-CS"), + }, + }, + { } +}; + /* * On some Asus laptops, just running self tests cause problems. */ @@ -1163,6 +1177,9 @@ static int __init i8042_platform_init(void) if (dmi_check_system(i8042_dmi_nomux_table)) i8042_nomux = true; + if (dmi_check_system(i8042_dmi_forcemux_table)) + i8042_nomux = false; + if (dmi_check_system(i8042_dmi_notimeout_table)) i8042_notimeout = true; -- Ondrej Zary