From patchwork Fri Feb 6 13:25:06 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Martin X-Patchwork-Id: 5791721 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 6E5DFBF440 for ; Fri, 6 Feb 2015 13:19:33 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id AF8E72014A for ; Fri, 6 Feb 2015 13:19:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D9A412017D for ; Fri, 6 Feb 2015 13:19:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754332AbbBFNT3 (ORCPT ); Fri, 6 Feb 2015 08:19:29 -0500 Received: from a.mx.secunet.com ([195.81.216.161]:41585 "EHLO a.mx.secunet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754046AbbBFNT3 (ORCPT ); Fri, 6 Feb 2015 08:19:29 -0500 Received: from localhost (alg1 [127.0.0.1]) by a.mx.secunet.com (Postfix) with ESMTP id A49CC1A009F; Fri, 6 Feb 2015 14:19:18 +0100 (CET) X-Virus-Scanned: by secunet Received: from a.mx.secunet.com ([127.0.0.1]) by localhost (a.mx.secunet.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 1R-1cKpSQsdZ; Fri, 6 Feb 2015 14:19:17 +0100 (CET) Received: from mail-essen-01.secunet.de (unknown [10.53.40.204]) by a.mx.secunet.com (Postfix) with ESMTP id 5E8DA1A00A0; Fri, 6 Feb 2015 14:19:17 +0100 (CET) Received: from localhost (10.182.7.24) by mail-essen-01.secunet.de (10.53.40.204) with Microsoft SMTP Server (TLS) id 14.3.224.2; Fri, 6 Feb 2015 14:19:26 +0100 From: Daniel Martin To: Dmitry Torokhov CC: , Hans de Goede , Benjamin Tissoires , Daniel Martin Subject: [PATCH 3/5] Input: synaptics - Query min dimensions for fw v8.1 Date: Fri, 6 Feb 2015 14:25:06 +0100 Message-ID: <1423229108-29268-4-git-send-email-daniel.martin@secunet.com> X-Mailer: git-send-email 2.2.2 In-Reply-To: <1423229108-29268-1-git-send-email-daniel.martin@secunet.com> References: <1423229108-29268-1-git-send-email-daniel.martin@secunet.com> Reply-To: Daniel Martin MIME-Version: 1.0 X-Originating-IP: [10.182.7.24] X-EXCLAIMER-MD-CONFIG: 2c86f778-e09b-4440-8b15-867914633a10 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Daniel Martin Query the min dimensions even if the check SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 7 fails, but we know that the firmware version 8.1 is safe. With that we don't need quirks for post-2013 models anymore as they expose correct min and max dimensions. v2: Don't use a list for safe firmwares. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=91541 Signed-off-by: Daniel Martin --- drivers/input/mouse/synaptics.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 7a78d75..0b7805c 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c @@ -368,8 +368,13 @@ static int synaptics_resolution(struct psmouse *psmouse) } } - if (SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 7 && - SYN_CAP_MIN_DIMENSIONS(priv->ext_cap_0c)) { + if ((SYN_EXT_CAP_REQUESTS(priv->capabilities) >= 7 && + SYN_CAP_MIN_DIMENSIONS(priv->ext_cap_0c)) || + /* Firmware v8.1 doesn't stand the previous checks, though has + * been proven to report correct min coordinates. + * https://bugzilla.kernel.org/show_bug.cgi?id=91541 */ + (SYN_ID_MAJOR(priv->identity) == 8 && + SYN_ID_MINOR(priv->identity) == 1)) { if (synaptics_send_cmd(psmouse, SYN_QUE_EXT_MIN_COORDS, resp)) { psmouse_warn(psmouse, "device claims to have min coordinates query, but I'm not able to read it.\n");