From: Lv Zheng Date: Fri, 6 Feb 2015 00:57:52 +0000 (+0800) Subject: ACPI / EC: Introduce STARTED/STOPPED flags to replace BLOCKED flag X-Git-Tag: fixes-v4.0-rc1~160^2~10^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ad479e7f47ca;p=pandora-kernel.git 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 Tested-by: Ortwin Glück Signed-off-by: Rafael J. Wysocki --- Reading git-diff-tree failed