Lv Zheng ad479e7f47 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>
2015-02-06 15:48:09 +01:00
..
2014-12-14 16:10:09 -08:00
2015-01-08 09:02:23 -07:00
2014-12-30 15:27:20 +01:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-20 13:42:57 -08:00
2014-12-14 16:10:09 -08:00
2014-12-17 09:59:26 -08:00
2015-01-17 08:18:08 +13:00
2014-12-17 09:59:26 -08:00
2014-12-16 14:53:01 -08:00
2014-12-18 20:24:55 -08:00
2014-12-17 10:10:51 -08:00
2014-12-29 13:24:38 -08:00
2014-12-14 16:10:09 -08:00
2015-01-09 15:43:01 +01:00
2014-12-14 16:43:47 -08:00
2015-01-14 16:27:23 -08:00
2015-01-13 15:13:45 +02:00
2014-12-14 16:43:47 -08:00
2014-12-15 18:06:13 -08:00