Re: [PATCH v2] HID: i2c-hid: wait for i2c touchpad deep-sleep to power-up transition
From: Doug Anderson
Date: Sun Apr 07 2024 - 23:18:38 EST
Hi,
On Fri, Apr 5, 2024 at 3:24 AM Lukasz Majczak <lma@xxxxxxxxxxxx> wrote:
>
> This patch extends the early bailout for probing procedure introduced in
> commit b3a81b6c4fc6 ("HID: i2c-hid: check if device is there before
> really probing"), in order to cover devices
> based on STM microcontrollers. For touchpads based on STM uC,
> the probe sequence needs to take into account the increased response time
> for i2c transaction if the device already entered a deep power state.
> STM specify the wakeup time as 400us between positive strobe of
> the clock line. Deep sleep is controlled by Touchpad FW,
> though some devices enter it pretty early to conserve power
> in case of lack of activity on the i2c bus.
> Failing to follow this requirement will result in touchpad device not being
> detected due initial transaction being dropped by STM i2c slave controller.
> By adding additional try, first transaction will wake up the touchpad
> STM controller, and the second will produce proper detection response.
>
> v1->v2:
> * Updated commit message with short sha of a base commit and proper tags
> * Rearranged while loop to perform check only once
> * Loosened sleeping range
>
> Co-developed-by: Radoslaw Biernacki <rad@xxxxxxxxxxxx>
> Signed-off-by: Radoslaw Biernacki <rad@xxxxxxxxxxxx>
> Signed-off-by: Lukasz Majczak <lma@xxxxxxxxxxxx>
> ---
> drivers/hid/i2c-hid/i2c-hid-core.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
As per my review comments in response to your v1 [1], this seems
reasonable to me.
Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
[1] https://lore.kernel.org/r/20240325105452.529921-1-lma@xxxxxxxxxxxx