mirror of
https://github.com/acpica/acpica/
synced 2025-02-26 02:14:33 +03:00
Move GPE enable until after _REG/_STA/_INI methods are run.
This ensures that all operation regions and devices throughout the namespace have been initialized before GPEs are enabled. Alexey Starikovskiy, BZ 9916
This commit is contained in:
parent
990816baed
commit
deac354959
@ -262,7 +262,9 @@ AcpiEnableSubsystem (
|
||||
*
|
||||
* Note2: Fixed events are initialized and enabled here. GPEs are
|
||||
* initialized, but cannot be enabled until after the hardware is
|
||||
* completely initialized (SCI and GlobalLock activated)
|
||||
* completely initialized (SCI and GlobalLock activated) and the various
|
||||
* initialization control methods are run (_REG, _STA, _INI) on the
|
||||
* entire namespace.
|
||||
*/
|
||||
if (!(Flags & ACPI_NO_EVENT_INIT))
|
||||
{
|
||||
@ -292,26 +294,6 @@ AcpiEnableSubsystem (
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Complete the GPE initialization for the GPE blocks defined in the FADT
|
||||
* (GPE block 0 and 1).
|
||||
*
|
||||
* Note1: This is where the _PRW methods are executed for the GPEs. These
|
||||
* methods can only be executed after the SCI and Global Lock handlers are
|
||||
* installed and initialized.
|
||||
*
|
||||
* Note2: Currently, there seems to be no need to run the _REG methods
|
||||
* before execution of the _PRW methods and enabling of the GPEs.
|
||||
*/
|
||||
if (!(Flags & ACPI_NO_EVENT_INIT))
|
||||
{
|
||||
Status = AcpiEvInstallFadtGpes ();
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
}
|
||||
}
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
@ -393,6 +375,27 @@ AcpiInitializeObjects (
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize the GPE blocks defined in the FADT (GPE block 0 and 1).
|
||||
* The runtime GPEs are enabled here.
|
||||
*
|
||||
* This is where the _PRW methods are executed for the GPEs. These
|
||||
* methods can only be executed after the SCI and Global Lock handlers are
|
||||
* installed and initialized.
|
||||
*
|
||||
* GPEs can only be enabled after the _REG, _STA, and _INI methods have
|
||||
* been run. This ensures that all Operation Regions and all Devices have
|
||||
* been initialized and are ready.
|
||||
*/
|
||||
if (!(Flags & ACPI_NO_EVENT_INIT))
|
||||
{
|
||||
Status = AcpiEvInstallFadtGpes ();
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Empty the caches (delete the cached objects) on the assumption that
|
||||
* the table load filled them up more than they will be at runtime --
|
||||
|
Loading…
x
Reference in New Issue
Block a user