Mailing List Archive

PROBLEM: lenovo yoga 11e touchscreen (baytrail SoC) does not work on 4.0.0 rc2
[1.] One line summary of the problem: Touchscreen on a Lenovo Yoga 11e does not work under 4.0 rc2
[2.] Full description of the problem/report: See below
[3.] Keywords (i.e., modules, networking, kernel): hid-i2c, touchscreen
[4.] Kernel version (from /proc/version): 4.0
[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt) n/a
[6.] A small shell script or example program which triggers the
problem (if possible) n/a
[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)
[7.2.] Processor information (from /proc/cpuinfo): see attached cpuinfo
[7.3.] Module information (from /proc/modules):
[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem): See attached
[7.5.] PCI information ('lspci -vvv' as root) see attached lspci
[7.6.] SCSI information (from /proc/scsi/scsi)
[7.7.] Other information that might be relevant to the problem
(please look in /proc and include all information that you
think to be relevant):
[X.] Other notes, patches, fixes, workarounds:

Relevant excerpt from dmesg.log (also attached):

[ 3.763182] i2c_hid i2c-ITE8386:00: Could not register for ITE8386:00 interrupt, irq = -1, ret = -22
[ 3.773742] i2c_hid: probe of i2c-ITE8386:00 failed with error -22
[ 3.788298] i2c_hid i2c-ATML1000:00: Could not register for ATML1000:00 interrupt, irq = -1, ret = -22
[ 3.806867] i2c_hid: probe of i2c-ATML1000:00 failed with error -22

I also included the output of /proc/bus/input/devices (attached as bus-input-devices).

I get the same above dmesg errors on 3.18.6 and 3.19. I saw that a lot of patches specific to the baytrail SoC
went into 4.0 rc2 and thought I'd give it a shot.

I'm back to running my distro's "stable" kernel version which is 3.18.6 because wifi (iwlwifi) is broken in 4.0 as well
(there's a stack trace in the included dmesg.log file), but if anyone wants me to try change a few settings or recompiling
with different options, I can do that.



Regards,

Matthew
Re: PROBLEM: lenovo yoga 11e touchscreen (baytrail SoC) does not work on 4.0.0 rc2 [ In reply to ]
On Wed, Mar 04, 2015 at 05:35:22PM -0500, Matthew Hiles wrote:
> [ 3.763182] i2c_hid i2c-ITE8386:00: Could not register for ITE8386:00 interrupt, irq = -1, ret = -22
> [ 3.773742] i2c_hid: probe of i2c-ITE8386:00 failed with error -22
> [ 3.788298] i2c_hid i2c-ATML1000:00: Could not register for ATML1000:00 interrupt, irq = -1, ret = -22
> [ 3.806867] i2c_hid: probe of i2c-ATML1000:00 failed with error -22

This says to me that the device uses GPIOs as interrupts as opposed to
IOAPIC.

Can you try the following commit?

https://git.kernel.org/cgit/linux/kernel/git/jikos/hid.git/commit/?h=for-4.1/i2c-hid&id=a485923efbb83056b7fb79e4fd2fee05c990ad5e
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: PROBLEM: lenovo yoga 11e touchscreen (baytrail SoC) does not work on 4.0.0 rc2 [ In reply to ]
On 03/10/2015 10:23 AM, Mika Westerberg wrote:
> On Wed, Mar 04, 2015 at 05:35:22PM -0500, Matthew Hiles wrote:
>> [ 3.763182] i2c_hid i2c-ITE8386:00: Could not register for ITE8386:00 interrupt, irq = -1, ret = -22
>> [ 3.773742] i2c_hid: probe of i2c-ITE8386:00 failed with error -22
>> [ 3.788298] i2c_hid i2c-ATML1000:00: Could not register for ATML1000:00 interrupt, irq = -1, ret = -22
>> [ 3.806867] i2c_hid: probe of i2c-ATML1000:00 failed with error -22
> This says to me that the device uses GPIOs as interrupts as opposed to
> IOAPIC.
>
> Can you try the following commit?
>
> https://git.kernel.org/cgit/linux/kernel/git/jikos/hid.git/commit/?h=for-4.1/i2c-hid&id=a485923efbb83056b7fb79e4fd2fee05c990ad5e

Progress! Applied that patch to 4.0 rc3 and recompiled:

uname -a
Linux pontifex 4.0.0-1-ARCH #2 SMP PREEMPT Tue Mar 10 11:54:37 EDT 2015
x86_64 GNU/Linux

dmesg|grep hid
[ 3.850715] hidraw: raw HID events driver (C) Jiri Kosina
[ 8.873837] i2c_hid i2c-ITE8386:00: failed to reset device.
[ 14.895347] i2c_hid i2c-ITE8386:00: failed to reset device.
[ 20.916806] i2c_hid i2c-ITE8386:00: failed to reset device.
[ 26.938430] i2c_hid i2c-ITE8386:00: failed to reset device.
[ 27.956009] i2c_hid i2c-ITE8386:00: can't add hid device: -61
[ 27.976242] i2c_hid: probe of i2c-ITE8386:00 failed with error -61
[ 28.028155] hid-multitouch 0018:03EB:8C1F.0001: input,hidraw0:
<UNKNOWN> HID v1.00 Device [ATML1000:00 03EB:8C1F] on

xinput
⎡ Virtual core pointer id=2 [master pointer
(3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ ATML1000:00 03EB:8C1F id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard
(2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard
(3)]
↳ Power Button id=6 [slave keyboard
(3)]
↳ Video Bus id=7 [slave keyboard
(3)]
↳ Power Button id=8 [slave keyboard
(3)]
↳ Sleep Button id=9 [slave keyboard
(3)]
↳ Integrated Camera id=10 [slave keyboard
(3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard
(3)]
↳ ThinkPad Extra Buttons id=12 [slave keyboard
(3)]

However, touching the screen does not cause the pointer to move and more
empirically:

(From /proc/bus/input/devices)

I: Bus=0018 Vendor=03eb Product=8c1f Version=0100
N: Name="ATML1000:00 03EB:8C1F"
P: Phys=
S:
Sysfs=/devices/platform/80860F41:01/i2c-9/i2c-ATML1000:00/0018:03EB:8C1F.0001/input/input15
U: Uniq=
H: Handlers=event14 mouse1
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 0 0
B: ABS=260800000000003

Doing
cat /dev/input/event14
or
cat /dev/input/mouse1

and poking the screen gets me no output.


~Matthew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: PROBLEM: lenovo yoga 11e touchscreen (baytrail SoC) does not work on 4.0.0 rc2 [ In reply to ]
On Tue, Mar 10, 2015 at 12:52:44PM -0400, Matthew Hiles wrote:
> uname -a
> Linux pontifex 4.0.0-1-ARCH #2 SMP PREEMPT Tue Mar 10 11:54:37 EDT 2015
> x86_64 GNU/Linux
>
> dmesg|grep hid
> [ 3.850715] hidraw: raw HID events driver (C) Jiri Kosina
> [ 8.873837] i2c_hid i2c-ITE8386:00: failed to reset device.
> [ 14.895347] i2c_hid i2c-ITE8386:00: failed to reset device.
> [ 20.916806] i2c_hid i2c-ITE8386:00: failed to reset device.
> [ 26.938430] i2c_hid i2c-ITE8386:00: failed to reset device.
> [ 27.956009] i2c_hid i2c-ITE8386:00: can't add hid device: -61
> [ 27.976242] i2c_hid: probe of i2c-ITE8386:00 failed with error -61
> [ 28.028155] hid-multitouch 0018:03EB:8C1F.0001: input,hidraw0: <UNKNOWN>
> HID v1.00 Device [ATML1000:00 03EB:8C1F] on

Can you send me acpidump from your machine?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: PROBLEM: lenovo yoga 11e touchscreen (baytrail SoC) does not work on 4.0.0 rc2 [ In reply to ]
On 03/11/2015 04:16 AM, Mika Westerberg wrote:
> On Tue, Mar 10, 2015 at 12:52:44PM -0400, Matthew Hiles wrote:
>> uname -a
>> Linux pontifex 4.0.0-1-ARCH #2 SMP PREEMPT Tue Mar 10 11:54:37 EDT 2015
>> x86_64 GNU/Linux
>>
>> dmesg|grep hid
>> [ 3.850715] hidraw: raw HID events driver (C) Jiri Kosina
>> [ 8.873837] i2c_hid i2c-ITE8386:00: failed to reset device.
>> [ 14.895347] i2c_hid i2c-ITE8386:00: failed to reset device.
>> [ 20.916806] i2c_hid i2c-ITE8386:00: failed to reset device.
>> [ 26.938430] i2c_hid i2c-ITE8386:00: failed to reset device.
>> [ 27.956009] i2c_hid i2c-ITE8386:00: can't add hid device: -61
>> [ 27.976242] i2c_hid: probe of i2c-ITE8386:00 failed with error -61
>> [ 28.028155] hid-multitouch 0018:03EB:8C1F.0001: input,hidraw0: <UNKNOWN>
>> HID v1.00 Device [ATML1000:00 03EB:8C1F] on
> Can you send me acpidump from your machine?


Attached.
Re: PROBLEM: lenovo yoga 11e touchscreen (baytrail SoC) does not work on 4.0.0 rc2 [ In reply to ]
On Wed, Mar 11, 2015 at 08:23:54AM -0400, Matthew Hiles wrote:
>
>
> On 03/11/2015 04:16 AM, Mika Westerberg wrote:
> >On Tue, Mar 10, 2015 at 12:52:44PM -0400, Matthew Hiles wrote:
> >>uname -a
> >>Linux pontifex 4.0.0-1-ARCH #2 SMP PREEMPT Tue Mar 10 11:54:37 EDT 2015
> >>x86_64 GNU/Linux
> >>
> >>dmesg|grep hid
> >>[ 3.850715] hidraw: raw HID events driver (C) Jiri Kosina
> >>[ 8.873837] i2c_hid i2c-ITE8386:00: failed to reset device.
> >>[ 14.895347] i2c_hid i2c-ITE8386:00: failed to reset device.
> >>[ 20.916806] i2c_hid i2c-ITE8386:00: failed to reset device.
> >>[ 26.938430] i2c_hid i2c-ITE8386:00: failed to reset device.
> >>[ 27.956009] i2c_hid i2c-ITE8386:00: can't add hid device: -61
> >>[ 27.976242] i2c_hid: probe of i2c-ITE8386:00 failed with error -61
> >>[ 28.028155] hid-multitouch 0018:03EB:8C1F.0001: input,hidraw0: <UNKNOWN>
> >>HID v1.00 Device [ATML1000:00 03EB:8C1F] on
> >Can you send me acpidump from your machine?
>
>
> Attached.

Thanks.

Unfortunately it did not reveal anything new :-(

I did few more changes to the Baytrail pinctrl driver which are now
included in linux-next. Can you try with the latest linux-next or
alternatively cherry-pick following commits on top of 4.0-rc3:

a485923efbb8 HID: i2c-hid: Add support for ACPI GPIO interrupts
6d00f37e49d9 HID: i2c-hid: Limit reads to wMaxInputLength bytes for input events
f2de746c3f03 HID: i2c-hid: The interrupt should be level sensitive
fcc18deb7682 pinctrl: baytrail: Save pin context over system sleep
31e4329f9906 pinctrl: baytrail: Rework interrupt handling
95f0972c7e4c pinctrl: baytrail: Clear interrupt triggering from pins that are in GPIO mode
f8323b6bb2cc pinctrl: baytrail: Relax GPIO request rules
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/