]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
ACPI / EC: Remove old CLEAR_ON_RESUME quirk
authorLv Zheng <lv.zheng@intel.com>
Wed, 4 Jan 2017 03:17:17 +0000 (11:17 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 30 Jan 2017 11:12:03 +0000 (12:12 +0100)
commit4c237371f290d1ed3b2071dd43554362137b1cce
treec0b540e52915af1d41e5f3c7b8ba71afec42ce75
parent566cf877a1fcb6d6dc0126b076aad062054c2637
ACPI / EC: Remove old CLEAR_ON_RESUME quirk

IRQ polling logic has been implemented to drain the post-boot/resume
EC events:

 1. Triggered by the following code, invoked from acpi_ec_enable_event():

if (!test_bit(EC_FLAGS_QUERY_PENDING, &ec->flags))
advance_transaction(ec);

 2. Drained by the following code, invoked after acpi_ec_complete_query():

if (status & ACPI_EC_FLAG_SCI)
acpi_ec_submit_query(ec);

This facility is safer than the old CLEAR_ON_RESUME quirk as the
CLEAR_ON_RESUME quirk sends EC query commands unconditionally. The
behavior is apparently not suitable for firmware that requires
QUERY_HANDSHAKE quirk. Though the QUERY_HANDSHAKE quirk isn't used
now because of the improvement done in the EC transaction state
machine (ec_event_clearing=QUERY), it is the proof that we cannot
send EC query command unconditionally.

So it's time to delete the out-dated CLEAR_ON_RESUME quirk to let the
users to try the newer approach.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=191211
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/ec.c