Re: Half second spend in i8042 during suspend on TUXEDO BU1406

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Vojtech,


On 02/09/17 00:58, Vojtech Pavlik wrote:
On Wed, Feb 08, 2017 at 02:12:44PM +0100, Paul Menzel wrote:

On the TUXEDO BU1406 [1] the Linux kernel (tested with 4.10-rc{6,7})
takes over a second to get into suspend [2]. For whatever reason
around 550 ms are spent in `i8042_set_mux_mode()` (cf. attached
/*
 * Internal loopback test - send three bytes, they should come back
from the
 * mouse interface, the last should be version.
 */

        param = val = 0xf0;
        if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param != val)
                return -1;
        param = val = multiplex ? 0x56 : 0xf6;
        if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param != val)
                return -1;
        param = val = multiplex ? 0xa4 : 0xa5;
        if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param == val)
                return -1;
```

Is that a hardware limitation, or even an error as such long delays
are not allowed according to some standard?

It looks like an EC firmware bug not handling the CMD_AUX_LOOP command
correctly.

Is there anything, that can be done about this, to get into S3 state faster?

Does it still happen if you specify i8042.nomux=1 on the kernel command
line?

Starting Linux with that, the delay is gone.

Before:

> i8042 @ i8042 {i8042} sync_device (Total Suspend: 546.038 ms Total Resume: 3.850 ms)

After:

> i8042 @ i8042 {i8042} sync_device (Total Suspend: 0.973 ms Total Resume: 1.369 ms)

What downsides are there of using that `i8042.nomux=1`? Is any functionality lost?

If that helps, it can be added to a blacklist based on DMI.

Sounds good.

```
$ journalctl -k | grep 'DMI:'
Feb 09 10:15:04 helmuth-N24-25BU kernel: DMI: Notebook N24_25BU/N24_25BU, BIOS 5.12 10/11/2016
```


Kind regards,

Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux