Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp49987yba; Wed, 3 Apr 2019 04:20:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqxDCnfeXdF+u3mNzliw9yYgrQ1TdbSNPrK1lW5LaCmmClF1OfW0xmEATOdaewgaTSRjoMqR X-Received: by 2002:a65:6659:: with SMTP id z25mr1734816pgv.10.1554290445614; Wed, 03 Apr 2019 04:20:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554290445; cv=none; d=google.com; s=arc-20160816; b=W4xZfrC7UsxZi7rQBHz/FOMMM3AjR9FlkEMGpV5m8W0AhzZwJB+2PNsglaUbTlCACb URYU6qQEqIYV7qgQ9scPEga6KbraVQfPD+X8fyI0s4h3yfmBKCi+bx0oXoDyCpQcs7pl 6hQrVFXjwaMYVVa225BJMcPLEmLkg/xQVJYpwhXX0bmSybFgztFNUaGlc3BRacLrShJ7 avDfN3JMSjC4VyAh73qIWgHFS+42eLMFVFolq1hrKVspG5uHYuUxnlR+sABQ437gK4fx bFEd6MRuMiDDKtGS6UrcC53UVWszzyZ6vcU45qGgxROr5jamvF3DHgpv7Tkv/iUu0Igz nhkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=b7C5DbOP2hJmLC4ys1i/uqZ3NAYvwkPf2YkOgSPKEEY=; b=uP8s4xmwT4Pp0q6SWMeFZpuNBFsNIFW0uy9e7twbnocy8ML9n262jseE0fjkg7LhIU CGxobJHA80bkp8FNtrZQTigMsOwmgtWqxGyaOcjC7536stWPoM37W+C61v6/01m05uIe I3PjhLYYhkscAztpgUa3w1XDHqwQDE7RO1oqHIvdH+bhOx/moPRdcTH6N767HDgGjBeP d6Pa5SxO7/7DPTaHvrGQIwM4SJWFxluZ1vJBprivhOLTSI4KkI0Ye53zEHNK2ECekP4u QDr4VrdqA2LgCYbe1udOFRTy4Vv1DfTz/hSVqNlu/MuXqaqrW2rTci5jJcus0qcmzzCT SHQQ== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u125si10942555pfb.112.2019.04.03.04.20.30; Wed, 03 Apr 2019 04:20:45 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726316AbfDCLS2 (ORCPT + 99 others); Wed, 3 Apr 2019 07:18:28 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:38461 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725954AbfDCLS1 (ORCPT ); Wed, 3 Apr 2019 07:18:27 -0400 Received: by mail-ed1-f65.google.com with SMTP id q14so14527163edr.5 for ; Wed, 03 Apr 2019 04:18:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=b7C5DbOP2hJmLC4ys1i/uqZ3NAYvwkPf2YkOgSPKEEY=; b=YAf1uBFeTn3ZQzyH5dw1w/Xx7PJi2/dFwa/AJj0+yRYrCv8VjwdCj9CJ9igiJtSN8R CtMCBNcviNbVk5tXvGvGdzJdXnKlleOlheIc7SIUDe3hQGKqQcsHau4IMRQoh9D0UPBC axh3xxrrV0/0IYGD8HN3LiFFa4tad2/iuvlzvdhUHnuXjHJposa0hfCv2eRzEjJqMDe7 6Yw4pipMU2IG3/9mRXdkEJvMlyVPG3wcmxi5gKmcXW7exBG7Bxu9LcWODdYmsjjFld9I Boc/b3uien5m20kVe1YM1+76Ku33AU7dkqaUlVLYM7a/AbiEw2AMUawtTFIgNZYSYWAl DLGg== X-Gm-Message-State: APjAAAXxA7jT0rCyinrrDQs15eX98BIAQYY+WMc6m97JD0HIuon6yPAz 6jfElzpfILZ1SjaTuGXFc/4U94a6OuE= X-Received: by 2002:a50:91d3:: with SMTP id h19mr51390425eda.218.1554290305217; Wed, 03 Apr 2019 04:18:25 -0700 (PDT) Received: from shalem.localdomain (84-106-84-65.cable.dynamic.v4.ziggo.nl. [84.106.84.65]) by smtp.gmail.com with ESMTPSA id a38sm4889993eda.71.2019.04.03.04.18.23 (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Wed, 03 Apr 2019 04:18:24 -0700 (PDT) Subject: Re: [PATCH] ELAN touchpad i2c_hid bugs fix To: hotwater438@tutanota.com Cc: Dmitry Torokhov , Vladislav Dalechyn , Benjamin Tissoires , Jiri Kosina , Kai Heng Feng , Swboyd , Bigeasy , "open list:HID CORE LAYER" , lkml References: <20190325125704.6585-1-hotwater438@tutanota.com> From: Hans de Goede Message-ID: Date: Wed, 3 Apr 2019 13:18:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 31-03-19 11:50, hotwater438@tutanota.com wrote: > Hi. I've done everything you said, here are results: > > Vladislav can you check the output of /cat/interrupts on a kernel > without the patch and while *not* using the touchpad; and check > if the amount of touchpads-interrupts still keeps increasing in this > case? > > IWI or IRQ work interrupts keep increasing with speed at least 3 interrupts/s. I'm really only interested in the touchpad related IRQs, so e.g. the line about "intel-gpio 129 ELAN1200:00", if you're seeing 3 interrupts/s on some others that is fine, so I take it the ELAN1200:00 interrupt count does not increase on an *unpatched* kernel, unless you use the touchpad? > Also when I am moving touchpad IR-IO-APIC 14-fasteoi INT345D:00 get's triggered and increased. That is the GPIO controller interrupt, so that one increasing is normal. If I understand things correctly then this all means that the IRQ indeed is a normal level IRQ and Dmitry is likely correct that there is an pinctrl / gpiochip driver problem here. Can you try the following with an *unpatched* kernel? : 1) Run "cat /proc/interrupts | grep ELAN" , note down the value 2) Very quickly/briefly touch the touchpad once 3) Run "cat /proc/interrupts | grep ELAN" , note down the value again 4) Subtract result from 1. from result from 3, this difference is the value we are interested in. E.g. my testing got 254 and 257, so a difference of 3. The goal here is to get an as low as possible difference. Feel free to repeat this a couple of times. On an Apollo Lake laptop with an I2C hid mt touchpad I can get the amount of interrupts triggered for a single touch down to 3, given the huge interrupt counts of 130000+ reported in: https://bugzilla.redhat.com/show_bug.cgi?id=1543769 I expect you to get a much bigger smallest possible difference between 2 "cat /proc/interrupts | grep ELAN" commands, note a difference of 0 means your touch did not register. Assuming you indeed see much more interrupts for a very quick touch + release, then we indeed have an interrupt handling problem we need to investigate further. > I don't know if it's important or not, but for some reason these interrupts keep popping only on CPU2 (i have 4cpu processor). That does not matter. > 1) Suspending the machine by selecting suspend from a menu in your > desktop environment, or by briefly pressing the power-button, do > not close the lid > 2) As soon as the system starts suspending and while it is suspended, move > your finger around the touchpad > 3) Wake the system up with the powerbutton while moving your finger around > 4) Check if the touchpad still works after this > > It works, but as it seems, looses edge. JournalCTL is being flooded with i2c_hid_get_input: incomplete report (16/65535) That is probably a different issue. If you loose the edge IRQ, then the touchpad would stop working without any messages. I believe that the suspend / resume issue may be fixed by: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=52cf93e63ee672a92f349edc6ddad86ec8808fd8 Does your kernel have this commit? (please always use the latest kernel while testing). > Also a thing to notice, that after manually removing and modprobing i2c_hid module, it says next in journalctl: > > i2c_hid i2c-ELAN1200:00: i2c-ELAN1200:00 supply vdd not found, using dummy regulator > i2c_hid i2c-ELAN1200:00: i2c-ELAN1200:00 supply vddl not found, using dummy regulator Those messages can safely be ignored. Regards, Hans