diff options
author | Lin Ming <ming.m.lin@intel.com> | 2011-02-14 15:29:34 +0800 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-03-02 19:38:03 -0500 |
commit | 6dfad339645247c9deb553e4d68e21211ddc61bd (patch) | |
tree | 79bbaa90277b9ae5dd54ebdfd856553b6aee8e07 /drivers/acpi | |
parent | dd9c1549edef02290edced639f67b54a25abbe0e (diff) | |
download | talos-op-linux-6dfad339645247c9deb553e4d68e21211ddc61bd.tar.gz talos-op-linux-6dfad339645247c9deb553e4d68e21211ddc61bd.zip |
ACPICA: GPE detect optimization - ignore unused GPE registers
This optimization will simply ignore GPE registers that contain
no enabled GPEs - there is no need to read the register.
ACPICA bugzilla 884.
http://www.acpica.org/bugzilla/show_bug.cgi?id=884
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/acpica/evgpe.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/evgpe.c b/drivers/acpi/acpica/evgpe.c index 14988a86066f..67d44ef2fbc1 100644 --- a/drivers/acpi/acpica/evgpe.c +++ b/drivers/acpi/acpica/evgpe.c @@ -373,6 +373,15 @@ u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info * gpe_xrupt_list) gpe_register_info = &gpe_block->register_info[i]; + /* + * Optimization: If there are no GPEs enabled within this + * register, we can safely ignore the entire register. + */ + if (!(gpe_register_info->enable_for_run | + gpe_register_info->enable_for_wake)) { + continue; + } + /* Read the Status Register */ status = |