diff options
author | Lv Zheng <lv.zheng@intel.com> | 2015-02-06 08:57:52 +0800 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-02-06 15:48:09 +0100 |
commit | ad479e7f47ca09c3f3190603ead4d01cf8fe6fa8 (patch) | |
tree | b9a5d11f9b458363e610c28ad83f98e886a3b2b5 /drivers/acpi/internal.h | |
parent | a8d4fc227f312edea06bb4ebbeeb6db89c798e91 (diff) | |
download | linux-ad479e7f47ca09c3f3190603ead4d01cf8fe6fa8.tar.bz2 |
ACPI / EC: Introduce STARTED/STOPPED flags to replace BLOCKED flag
By using the 2 flags, we can indicate an inter-mediate state where the
current transactions should be completed while the new transactions should
be dropped.
The comparison of the old flag and the new flags:
Old New
about to set BLOCKED STOPPED set / STARTED set
BLOCKED set STOPPED clear / STARTED clear
BLOCKED clear STOPPED clear / STARTED set
A new period can be indicated by the 2 flags. The new period is between the
point where we are about to set BLOCKED and the point when the BLOCKED is
set. The new flags facilitate us with acpi_ec_started() check to allow the
EC transaction to be submitted during the new period. This period thus can
be used as a grace period for the EC transaction flushing.
The only functional change after applying this patch is:
1. The GPE enabling/disabling is protected by the EC specific lock. We can
do this because of recent ACPICA GPE API enhancement. This is reasonable
as the GPE disabling/enabling state should only be determined by the EC
driver's state machine which is protected by the EC spinlock.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Tested-by: Ortwin Glück <odi@odi.ch>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/internal.h')
0 files changed, 0 insertions, 0 deletions