Bug 82601

Summary: Touchpad is not working on Dell XPS 13 9333
Product: Drivers Reporter: Gabriele Mazzotta (gabriele.mzt)
Component: Input DevicesAssignee: Mika Westerberg (mika.westerberg)
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, gabriele.mzt, mika.westerberg
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 3.17-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg
Patch to test

Description Gabriele Mazzotta 2014-08-17 14:35:54 UTC
Created attachment 146941 [details]
dmesg

The touchpad is no longer working, worked fine with 3.16.

The dmesg shows two errors:
[    2.435880] i2c_designware INT33C3:00: controller timed out
[    2.436147] i2c_hid i2c-DLL060A:00: hid_descr_cmd failed

Full dmesg attached.
Comment 1 Gabriele Mazzotta 2014-08-17 14:43:36 UTC
I just noticed that also the touchscreen is no longer working properly. It detects the first touch, after that it stops working.

I should maybe open another bug report for this, but maybe it's related to the problem here reported.
Comment 2 Alan 2014-08-21 15:39:06 UTC
It's related I think
Comment 3 Mika Westerberg 2014-08-21 16:51:56 UTC
It is most likely due to the latest ioapic changes. Basically the I2C host controller is getting edge triggered interrupt instead of level what it is supposed to get. I commented today on that thread already if someone has ideas how to fix it.

The commit I suspect is this:

15a3c7cc9154321fc3ed1f7738bb7bbe690af91d

x86, irq: Introduce two helper functions to support irqdomain map operation
Comment 4 Mika Westerberg 2014-08-21 16:54:34 UTC
Gabrielle, please check /proc/interrupts from your system. I have similar machine here and you can see, this works:

   7:          0          0          0          0   IO-APIC-fasteoi   INT3432:00, INT3433:00

And this is after the ioapic changes, and doesn't work:

  7:          0          0          0          0   IO-APIC-edge      INT3432:00, INT3433:00
Comment 5 Gabriele Mazzotta 2014-08-21 17:17:22 UTC
I get the same:

kernel 3.16:
  7:    2071534      16001       4177       4867   IO-APIC-fasteoi   INT33C3:00
 39:      60289        497        106        114   IO-APIC-fasteoi   DLL060A:00


kernel 3.17-rc1:
  7:          1          0          0          0   IO-APIC-edge      INT33C3:00
Comment 6 Gabriele Mazzotta 2014-08-22 13:59:38 UTC
I reverted 81c02a21b293faecab725f691d709111831e1944 ("Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip") for a quick test and as expected the touchpad started to work. However, the touchscreen is still not working properly, so I guess it's a different bug.
Comment 7 Mika Westerberg 2014-08-27 08:05:40 UTC
Created attachment 148421 [details]
Patch to test

Gabriele,

Can you try the attached patch?
Comment 8 Gabriele Mazzotta 2014-08-27 10:43:57 UTC
It's working, thanks.
Comment 9 Mika Westerberg 2014-08-28 09:59:30 UTC
Fixed with this commit:

https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?h=x86/urgent&id=f395dcae7a68497751869cf0031fd8ce5e115f0a

Will be included in v3.17-rc3. I'm marking this as resolved for now.