linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: al.stone@linaro.org (al.stone at linaro.org)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 6/6] ACPI: make sure ECs do not use the ACPI global lock
Date: Fri, 10 Jan 2014 15:52:20 -0700	[thread overview]
Message-ID: <1389394340-2680-7-git-send-email-al.stone@linaro.org> (raw)
In-Reply-To: <1389394340-2680-1-git-send-email-al.stone@linaro.org>

From: Al Stone <al.stone@linaro.org>

ACPI ECs (Embedded Controllers) are allowed to use the ACPI global
lock in legacy mode.  Since there is no global lock in hardware
reduced mode, make sure that ECs cannot inadvertently use it with
older ACPI tables that may have defined an _GLK method for the
EC device.  Since an individual lock can and should be defined for
each EC, access to each EC should still be properly controlled.

Signed-off-by: Al Stone <al.stone@linaro.org>
---
 drivers/acpi/ec.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index ba5b56d..3f15110 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -745,9 +745,17 @@ ec_parse_device(acpi_handle handle, u32 Level, void *context, void **retval)
 	if (ACPI_FAILURE(status))
 		return status;
 	ec->gpe = tmp;
-	/* Use the global lock for all EC transactions? */
+	/*
+	 * Use the global lock for all EC transactions?
+	 *
+	 * If ACPI is in hardware reduced mode, there is no global lock.
+	 * If a _GLK method is defined, it needs to be ignored, just
+	 * in case it returns "true", which could happen if the ASL is
+	 * written incorrectly.
+	 */
 	tmp = 0;
-	acpi_evaluate_integer(handle, "_GLK", NULL, &tmp);
+	if (!acpi_gbl_reduced_hardware)
+		acpi_evaluate_integer(handle, "_GLK", NULL, &tmp);
 	ec->global_lock = tmp;
 	ec->handle = handle;
 	return AE_CTRL_TERMINATE;
-- 
1.8.4.2

  parent reply	other threads:[~2014-01-10 22:52 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-10 22:52 [PATCH v6 0/6] Hardware Reduced Mode Cleanup for ACPI al.stone at linaro.org
2014-01-10 22:52 ` [PATCH v6 1/6] ACPI: introduce CONFIG_ACPI_REDUCED_HARDWARE_ONLY to enforce this ACPI mode al.stone at linaro.org
2014-01-10 23:11   ` Rafael J. Wysocki
2014-01-10 23:13     ` Al Stone
2014-01-10 23:40       ` Rafael J. Wysocki
2014-01-10 22:52 ` [PATCH v6 2/6] ACPI: bus master reload not supported in reduced HW mode al.stone at linaro.org
2014-01-10 22:52 ` [PATCH v6 3/6] ACPI: HW reduced mode does not allow use of the FADT sci_interrupt field al.stone at linaro.org
2014-01-10 23:20   ` Rafael J. Wysocki
2014-01-13 22:28     ` Al Stone
2014-01-14  0:21       ` Rafael J. Wysocki
2014-01-10 22:52 ` [PATCH v6 4/6] ACPI: in HW reduced mode, using FADT PM information is not allowed al.stone at linaro.org
2014-01-10 23:31   ` Rafael J. Wysocki
2014-01-13 22:46     ` Al Stone
2014-01-14  0:06       ` Rafael J. Wysocki
2014-01-10 22:52 ` [PATCH v6 5/6] ACPI: do not map/unmap memory regions for FADT entries in reduced HW mode al.stone at linaro.org
2014-01-10 23:32   ` Rafael J. Wysocki
2014-01-13 23:07     ` Al Stone
2014-01-14  0:02       ` Rafael J. Wysocki
2014-01-14  0:59         ` Al Stone
2014-01-14 17:18           ` Al Stone
2014-01-10 22:52 ` al.stone at linaro.org [this message]
2014-01-10 23:33   ` [PATCH v6 6/6] ACPI: make sure ECs do not use the ACPI global lock Rafael J. Wysocki
2014-01-13 23:46     ` Al Stone
2014-01-10 23:25 ` [PATCH v6 0/6] Hardware Reduced Mode Cleanup for ACPI Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1389394340-2680-7-git-send-email-al.stone@linaro.org \
    --to=al.stone@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).