Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751569AbdI2CuQ (ORCPT ); Thu, 28 Sep 2017 22:50:16 -0400 Received: from mga05.intel.com ([192.55.52.43]:28351 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750826AbdI2CuP (ORCPT ); Thu, 28 Sep 2017 22:50:15 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,451,1500966000"; d="scan'208";a="140753127" 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 0/3] ACPI / EC: Tune the timing of EC events arrival during S3-exit Date: Fri, 29 Sep 2017 10:50:06 +0800 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: <99f23db65bbe89ee856018629654584a96734c84.1501141963.git.lv.zheng@intel.com> 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: 1221 Lines: 29 If EC events occurred during BIOS S3-exit and early OS S3-exit steps can be detected by OS earlier, then there can be less driver order issues between acpi_ec_resume() and some other drivers' .resume() hook (e.x. acpi_button_resume()). However there are known facts that EC FW does drop EC events during S3, and it takes time for EC FW to initialize (maximum 1.4 observed) while Windows acts normally, so detecting EC event earlier might just be a workaround for other drivers (they should be aware of this order issue and deal with it themselves). As such, this patchset is marked as an RFC. If Linux EC driver started to detect events during early OS S3-exit, it need to timely poll EC events during noirq stages as in this stage there is no EC event triggering source. This patchset implements earlier EC event handling for Linux. Lv Zheng (3): ACPI / EC: Fix possible driver order issue by moving EC event handling earlier ACPI / EC: Add event detection support for noirq stages ACPI / EC: Enable noirq stage event detection drivers/acpi/ec.c | 128 +++++++++++++++++++++++++++++++++++++++++++----- drivers/acpi/internal.h | 1 + 2 files changed, 118 insertions(+), 11 deletions(-) -- 2.7.4