• Arkadiusz Hiler's avatar
    Revert "Input: synaptics - Lenovo Thinkpad T460p devices should use RMI" · 5444a992
    Arkadiusz Hiler authored
    This reverts commit 48282969 which
    caused the following issues:
    
    1. On T460p with BIOS version 2.22 touchpad and trackpoint stop working
    after suspend-resume cycle. Due to strange state of the device another
    suspend is impossible.
    
    The following dmesg errors can be observed:
    thinkpad_acpi: EC reports that Thermal Table has changed
    rmi4_smbus 7-002c: failed to get SMBus version number!
    rmi4_physical rmi4-00: rmi_driver_reset_handler: Failed to read current IRQ mask.
    rmi4_f01 rmi4-00.fn01: Failed to restore normal operation: -16.
    rmi4_f01 rmi4-00.fn01: Resume failed with code -16.
    rmi4_physical rmi4-00: Failed to suspend functions: -16
    rmi4_smbus 7-002c: Failed to resume device: -16
    PM: resume devices took 0.640 seconds
    rmi4_f03 rmi4-00.fn03: rmi_f03_pt_write: Failed to write to F03 TX register (-16).
    rmi4_physical rmi4-00: rmi_driver_clear_irq_bits: Failed to change enabled interrupts!
    rmi4_physical rmi4-00: rmi_driver_set_irq_bits: Failed to change enabled interrupts!
    psmouse: probe of serio3 failed with error -1
    
    2. On another T460p with BIOS version 2.15 two finger scrolling gesture
    on the touchpad stops working after suspend-resume cycle (about 75%
    reproducibility, when it still works, the scrolling gesture becomes
    laggy). Nothing suspicious appears in the dmesg.
    
    Analysis form Richard Schütz:
    
    "RMI is unreliable on the ThinkPad T460p because the device is affected
    by the firmware behavior addressed in a7ae8195 ("i2c: i801: Allow
    ACPI SystemIO OpRegion to conflict with PCI BAR")."
    
    The affected devices often show:
    
    i801_smbus 0000:00:1f.4: BIOS is accessing SMBus registers
    i801_smbus 0000:00:1f.4: Driver SMBus register access inhibited
    Reported-by: default avatarRichard Schütz <rschuetz@uni-koblenz.de>
    Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
    Tested-by: default avatarMartin Peres <martin.peres@linux.intel.com>
    Tested-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    5444a992
synaptics.c 48.8 KB