From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Westerberg Subject: Re: intel-gpio interrupts stop firing with Focaltech I2C-HID touchpad Date: Fri, 17 Nov 2017 15:35:18 +0200 Message-ID: <20171117133518.GF17200@lahna.fi.intel.com> References: <20171116115244.GQ17200@lahna.fi.intel.com> <20171116130743.GT17200@lahna.fi.intel.com> <20171117091134.GB17200@lahna.fi.intel.com> <20171117110057.GD17200@lahna.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mga01.intel.com ([192.55.52.88]:65224 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756986AbdKQNfW (ORCPT ); Fri, 17 Nov 2017 08:35:22 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-gpio-owner@vger.kernel.org List-Id: linux-gpio@vger.kernel.org To: Chris Chiu Cc: Daniel Drake , heikki.krogerus@linux.intel.com, linux-gpio@vger.kernel.org, Linux Kernel , Endless Linux Upstreaming Team , Jarkko Nikula On Fri, Nov 17, 2017 at 09:21:48PM +0800, Chris Chiu wrote: > On Fri, Nov 17, 2017 at 7:00 PM, Mika Westerberg > wrote: > > On Fri, Nov 17, 2017 at 06:01:27PM +0800, Chris Chiu wrote: > >> Hi Mika, > >> Here's the full dmesg log you need. The touchpad stop reporting at > >> the last of the log. > >> https://gist.github.com/mschiu77/a0b8d24a586a228c55eca30c87c71d41 > > > > Thanks! > > > > I did not spot anything suspicious in the i2c-hid initialization. When > > the issue happens, can you check what the pin state is and if it changes > > when you use the touchpad? If I read your ACPI tables right, something > > like this: > > > > # grep GPIO_18 /sys/kernel/debug/pinctrl/INT3452:00/pins > > > > (it could be another INT3452:* device as well). > > > > The GPIO line should be high and when the touchpad is pressed it should > > go low. > > > > Then another thing, if you unload i2c-hid and load it back, does it > > start working again? > > > > # modprobe -r i2c-hid > > # modprobe i2c-hid > > Yup. We did the same inspection on /sys/kernel/debug/pinctrl/INT3452:00/pins > before and after the touchpad stop working. > Before touchpad stop working, most of the results would be > pin 18 (GPIO_18) GPIO 0x40900102 0x00024075 > After touchpad stop working, the result would always be > pin 18 (GPIO_18) GPIO 0x40900100 0x00024075 OK, so the line (as being active low) gets pulled to low and is never released back. Does /proc/interrupts show that the interrupt counts are still increasing (for both the GPIO driver and the touchpad)?