Bug 196985

Summary: Touchpad is unresponsive on Lenovo Ideapad 320-15ABR
Product: Drivers Reporter: nikolas
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED CODE_FIX    
Severity: normal CC: avi.caspe, kai.heng.feng
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 4.14-rc6 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg output
dmidecode output
acpidump output
output of `head /proc/interrupts`
Output of `udevadm info -e`
dmesg output after i've gotten the touchpad detected, and it stops working

Description nikolas 2017-09-18 17:53:06 UTC
Created attachment 258469 [details]
dmesg output

I have a Lenovo Ideapad 320-15ABR, (I found the exact model name with dmidecode). I'm having trouble getting the touchpad to work. It's not showing up in xinput --list or cat /proc/bus/input/devices. I'm using Linux 4.13.2, compiled with some extra debugging messages.

Here's some relevant dmesg output when booted with i8042.nopnp. Without this option, I get the message: "i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp"

$ dmesg|grep psm
[    2.595815] bus: 'serio': add driver psmouse
[    2.627475] bus: 'serio': driver_probe_device: matched device serio1 with driver psmouse
[    2.627477] bus: 'serio': really_probe: probing driver psmouse with device serio1
[    2.627482] psmouse serio1: no default pinctrl state
[    2.651584] psmouse: probe of serio1 rejects match -19


$ dmesg|grep i8042
[    2.577522] i8042: PNP detection disabled
[    2.578648] Registering platform device 'i8042'. Parent at platform
[    2.578650] device: 'i8042': device_add
[    2.578655] bus: 'platform': add device i8042
[    2.578668] PM: Adding info for platform:i8042
[    2.578682] bus: 'platform': add driver i8042
[    2.578692] bus: 'platform': driver_probe_device: matched device i8042 with driver i8042
[    2.578694] bus: 'platform': really_probe: probing driver i8042 with device i8042
[    2.578699] i8042 i8042: no default pinctrl state
[    2.578702] devices_kset: Moving i8042 to end of list
[    2.595059] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.595070] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.595125] driver: 'i8042': driver_bound: bound to device 'i8042'
[    2.595150] bus: 'platform': really_probe: bound device i8042 to driver i8042
[    2.604184] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0


I will attach the full dmesg output as well as the output for acpidump and dmidecode.
Comment 1 nikolas 2017-09-18 17:53:32 UTC
Created attachment 258471 [details]
dmidecode output
Comment 2 nikolas 2017-09-18 17:53:55 UTC
Created attachment 258473 [details]
acpidump output
Comment 3 nikolas 2017-09-18 19:21:26 UTC
After enabling CONFIG_PINCTRL_AMD, the touchpad is recognized in `xinput --list`:

  Synaptics TM3336-001    id=11  [slave  pointer (2)]


Also, the touchpad does work randomly on some boots with this new option enabled, but then stops working after a bit of use.
Comment 4 nikolas 2017-09-18 23:54:48 UTC
Interesting - when I do: `watch -n 0.2 head /proc/interrupts`, I see the touchpad events coming through on IRQ 3 and 7 instead of 12. See attached file.
Comment 5 nikolas 2017-09-18 23:55:50 UTC
Created attachment 258483 [details]
output of `head /proc/interrupts`
Comment 6 nikolas 2017-09-19 13:32:39 UTC
Created attachment 258489 [details]
Output of `udevadm info -e`
Comment 7 nikolas 2017-09-21 02:24:59 UTC
Created attachment 258547 [details]
dmesg output after i've gotten the touchpad detected, and it stops working
Comment 8 avi.caspe 2017-10-23 19:59:37 UTC
I would like to say that this issue is affecting me too. I have the exact same model and I am unable to get the touchpad to work. I am running a dual boot system with Windows10 and NixOS 17.09, with the 4.13.8 kernel.

Touchpad works fine on Windows. No issues there.

The touchpad is not seen at all by Linux. None of the utilities listed above see the touchpad. I haven't tried setting any kernel options, so I might still be able to fix this issue. I don't think that it will, but I want to try something. 

On the other hand, my USB mouse is seen just fine by Linux. So I can use that until the 4.14.x kernel is released, which I hope fixes this issue.
Comment 9 nikolas 2017-10-23 20:06:01 UTC
As of kernel 4.14-rc5, I'm still having the same issue with my touchpad, FYI.
Comment 10 nikolas 2017-11-04 22:39:55 UTC
This issue is resolved on my laptop as of kernel 4.14-rc7. It's likely that this pinctrl-amd update is what resolved it: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/drivers/pinctrl/pinctrl-amd.c?id=6afb10267c1692ada3a2903e31ea339917ad3ac0