> -----Original Message----- > From: linux-input-owner@xxxxxxxxxxxxxxx [mailto:linux-input-owner@xxxxxxxxxxxxxxx] On Behalf Of Brad Baker > Sent: 11 September, 2016 0:21 > To: bastien nocera > Cc: linux-input@xxxxxxxxxxxxxxx > Subject: Goodix touchscreen works intermittently, fails reading config info. > > Summary: Goodix touchscreen works intermittently, fails reading config info. > https://bugzilla.kernel.org/show_bug.cgi?id=156511 > > Description: Chuwi Hi12 tablet with Intel cherry-trail Atom Z8300, > the touchscreen does work after bootup most of the time, but sometimes > it does not work without running modprobe. When it fails the dmesg > log shows the error "Invalid config, using defaults" and when it works > this error is not present. > > Module: goodix, goodix_backport > Linux version 4.8.0-040800rc5-generic (kernel@tangerine) (gcc version > 6.2.0 20160830 (Ubuntu 6.2.0-2ubuntu11) ) #201609041832 SMP Sun Sep 4 > 22:34:01 UTC 2016 > > dmesg log when it's failing: > [ 10.012314] Goodix-TS i2c-GDIX1001:00: ID 9111, version: 1060 > [ 10.017711] Goodix-TS i2c-GDIX1001:00: Invalid config, using defaults > [ 10.018021] input: Goodix Capacitive TouchScreen as > /devices/pci0000:00/808622C1:05/i2c-13/i2c-GDIX1001:00/input/input6 > > details given in bugzilla #156511 Hi Brad, I had similar problems with some Goodix devices until I enabled the reset sequence [1]. Although the touch screen was initialized and I could read/write to/from the device, I read only 0s from the configuration registers. The datasheet recommends using the reset procedure at power on, so I could not find any information on how to make the device work reliably without it. Resetting the device at boot fixed the problem for me. For backwards compatibility, the reset sequence is only available if the interrupt and reset gpio pins are connected and configured through _DSD properties in the ACPI table or DT properties. One reason for the touchscreen not working in this case is that the interrupts are not properly configured. I noticed in the Bugzilla details that you already tried changing the default value for trigger_type to the one read from the device. Did that work? Regards, Irina [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ec6e1b4082d9f5b0858ce33169a1c22a27a982f6 ��.n��������+%������w��{.n�����{��)��^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�