Ver código fonte

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>
Lin Ming 14 anos atrás
pai
commit
6dfad33964
1 arquivos alterados com 9 adições e 0 exclusões
  1. 9 0
      drivers/acpi/acpica/evgpe.c

+ 9 - 0
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];
 			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 */
 			/* Read the Status Register */
 
 
 			status =
 			status =