Skip to content

RFC ACPI / EC: Tune the timing of EC events arrival during S3-exit

Lv Zheng linux-acpi lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v6 RFC Latest3 patches 4 repliesIn review

Patches in v6 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3ACPI / EC: Fix possible driver order issue by moving EC event handling earlierdrivers/acpi/ec.c+26 -93 replies
2/3ACPI / EC: Add event detection support for noirq stagesdrivers/acpi/ec.c drivers/acpi/internal.h+92 -21 reply
3/3ACPI / EC: Enable noirq stage event detectiondrivers/acpi/ec.c+1 -10 replies

Reviews trailers per patch

None of the 3 patches has a Reviewed-by or Acked-by.

PatchTomislav IvekLuya Tshimbalanga
1/3T-b T-b
2/3T-b
3/3T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v6 thread

Cover letter [RFC PATCH v6 0/3] ACPI / EC: Tune the timing of EC events arrival during S3-exit

If EC events occurred during BIOS S3-exit and early OS S3-exit steps can be detected by OS earlier, then there can be less driver order issues between acpi_ec_resume() and some other drivers' .resume() hook (e.x. acpi_button_resume()).

However there are known facts that EC FW does drop EC events during S3, and it takes time for EC FW to initialize (maximum 1.4 observed) while Windows acts normally, so detecting EC event earlier might just be a workaround for other drivers (they should be aware of this order issue and deal with it themselves). As such, this patchset is marked as an RFC.

If Linux EC driver started to detect events during early OS S3-exit, it need to timely poll EC events during noirq stages as in this stage there is no EC event triggering source.

This patchset implements earlier EC event handling for Linux.

Lv Zheng (3):
ACPI / EC: Fix possible driver order issue by moving EC event handling
earlier
ACPI / EC: Add event detection support for noirq stages ACPI / EC: Enable noirq stage event detection

 drivers/acpi/ec.c       | 128 +++++++++++++++++++++++++++++++++++++++++++-----
 drivers/acpi/internal.h |   1 +
 2 files changed, 118 insertions(+), 11 deletions(-)
Signature · 1 line
2.7.4