Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751990AbdI2Cue (ORCPT ); Thu, 28 Sep 2017 22:50:34 -0400 Received: from mga04.intel.com ([192.55.52.120]:31365 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751601AbdI2Cuc (ORCPT ); Thu, 28 Sep 2017 22:50:32 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,451,1500966000"; d="scan'208";a="133425271" From: Lv Zheng To: "Rafael J . Wysocki" , "Rafael J . Wysocki" , Len Brown Cc: Lv Zheng , Lv Zheng , linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org Subject: [RFC PATCH v6 3/3] ACPI / EC: Enable noirq stage event detection Date: Fri, 29 Sep 2017 10:50:28 +0800 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: <99f23db65bbe89ee856018629654584a96734c84.1501141963.git.lv.zheng@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1553 Lines: 40 This patch enables noirq stage event detection for the EC driver. EC is a very special driver, required to detecting events throughout the entire suspend/resume process. Thus this patch enables event detection for EC during noirq stages to meet this requirement. This is done by making sure that the EC sleep APIs: acpi_ec_block_transactions() acpi_ec_unblock_transactions() rather than the EC driver suspend/resume hooks: acpi_ec_suspend() acpi_ec_resume() are the boundary of the EC event handling during suspend/resume, so that the ACPI sleep core can tune their invocation timing to handle special BIOS requirements. If this commit is bisected to be a regression culprit, please report this to bugzilla.kernel.org for further investigation. Link: https://bugzilla.kernel.org/show_bug.cgi?id=196129 Signed-off-by: Lv Zheng Tested-by: Tomislav Ivek --- drivers/acpi/ec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 389c499..a48a2b3 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -157,7 +157,7 @@ static bool ec_no_wakeup __read_mostly; module_param(ec_no_wakeup, bool, 0644); MODULE_PARM_DESC(ec_no_wakeup, "Do not wake up from suspend-to-idle"); -static bool ec_detect_noirq_events __read_mostly; +static bool ec_detect_noirq_events __read_mostly = true; module_param(ec_detect_noirq_events, bool, 0644); MODULE_PARM_DESC(ec_detect_noirq_events, "Enabling event detection during noirq stage"); -- 2.7.4