]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 14 Oct 2023 00:29:57 +0000 (17:29 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Nov 2023 10:21:08 +0000 (11:21 +0100)
commit365fbb85bbffeb9f8310a35df55cff4acdee0ac5
tree0ddf7b593a75b8d23a27a72b2b0c7778ef68d0fc
parent3b6a41708d0c95fcd28f776d12fd3657c5c57ce1
Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport

[ Upstream commit 5030b2fe6aab37fe42d14f31842ea38be7c55c57 ]

Touch controllers need some time after receiving reset command for the
firmware to finish re-initializing and be ready to respond to commands
from the host. The driver already had handling for the post-reset delay
for I2C and SPI transports, this change adds the handling to
SMBus-connected devices.

SMBus devices are peculiar because they implement legacy PS/2
compatibility mode, so reset is actually issued by psmouse driver on the
associated serio port, after which the control is passed to the RMI4
driver with SMBus companion device.

Note that originally the delay was added to psmouse driver in
92e24e0e57f7 ("Input: psmouse - add delay when deactivating for SMBus
mode"), but that resulted in an unwanted delay in "fast" reconnect
handler for the serio port, so it was decided to revert the patch and
have the delay being handled in the RMI4 driver, similar to the other
transports.

Tested-by: Jeffery Miller <jefferymiller@google.com>
Link: https://lore.kernel.org/r/ZR1yUFJ8a9Zt606N@penguin
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/input/mouse/synaptics.c
drivers/input/rmi4/rmi_smbus.c