Thread (9 messages) 9 messages, 4 authors, 2011-01-07

Re: [PATCH 3/3] ACPI / ACPICA: Disable GPEs during initialization

From: Rafael J. Wysocki <hidden>
Date: 2011-01-07 21:14:36

On Friday, January 07, 2011, Moore, Robert wrote:
Rafael,
Hi,
Rather than disabling GPE bits one-by-one, I'd like to disable all GPE bits
in all GPE registers within the block at the time the block is installed,
by clearing/disabling entire registers with a single write. This would cover
all the weird hardware and BIOS possibilities in one fell swoop. I believe
that this was the original behavior of ACPICA.
That's fine by me.  We needed an emergency fix for 2.6.37, hence my patch.

Thanks,
Rafael

quoted
-----Original Message-----
From: Rafael J. Wysocki [mailto:rjw@sisk.pl]
Sent: Monday, December 27, 2010 12:16 PM
To: Lin, Ming M; Moore, Robert
Cc: Len Brown; linux-acpi@vger.kernel.org; Brown, Len
Subject: Re: [PATCH 3/3] ACPI / ACPICA: Disable GPEs during initialization

Hi,

The patch below is needed in the ACPICA core.

On Sunday, December 26, 2010, Len Brown wrote:
quoted
From: Rafael J. Wysocki <redacted>

GPEs with corresponding _Lxx/_Exx control methods need to be disabled
during initialization in case they have been enabled by the BIOS, so
that they don't fire up until they are enabled by acpi_update_gpes().

References: https://bugzilla.kernel.org/show_bug.cgi?id=25412
Signed-off-by: Rafael J. Wysocki <redacted>
Signed-off-by: Len Brown <redacted>
---
 drivers/acpi/acpica/evgpeinit.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/acpi/acpica/evgpeinit.c
b/drivers/acpi/acpica/evgpeinit.c
quoted
index 2c7def9..4c8dea5 100644
--- a/drivers/acpi/acpica/evgpeinit.c
+++ b/drivers/acpi/acpica/evgpeinit.c
@@ -408,6 +408,9 @@ acpi_ev_match_gpe_method(acpi_handle obj_handle,
 		return_ACPI_STATUS(AE_OK);
 	}

+	/* Disable the GPE in case it's been enabled already. */
+	(void)acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE);
+
 	/*
 	 * Add the GPE information from above to the gpe_event_info block for
 	 * use during dispatch of this GPE.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help