Commit 24a4b872 authored by Jose Marinho's avatar Jose Marinho Committed by Rafael J. Wysocki
Browse files

ACPICA: Detect GED device and keep track of _EVT

ACPICA commit dc6fd1d12903015726a8a6f87f63e86141576a68

The GED device is described by a _HID of ACPI0013.
This code traverses the namespace identifying all GED devices.
For each GED device in the namespace we record 1) the Interrupt objects
and the _EVT method.

This information is used when an interrupt is simulate.

Link: https://github.com/acpica/acpica/commit/dc6fd1d1


Signed-off-by: default avatarJose Marinho <jose.marinho@arm.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 9558c2a2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -129,6 +129,7 @@ ACPI_GLOBAL(acpi_table_handler, acpi_gbl_table_handler);
ACPI_GLOBAL(void *, acpi_gbl_table_handler_context);
ACPI_GLOBAL(acpi_interface_handler, acpi_gbl_interface_handler);
ACPI_GLOBAL(struct acpi_sci_handler_info *, acpi_gbl_sci_handler_list);
ACPI_GLOBAL(struct acpi_ged_handler_info *, acpi_gbl_ged_handler_list);

/* Owner ID support */

+8 −0
Original line number Diff line number Diff line
@@ -543,6 +543,14 @@ struct acpi_field_info {
	u32 pkg_length;
};

/* Information about the interrupt ID and _EVT of a GED device */

struct acpi_ged_handler_info {
	struct acpi_ged_handler_info *next;
	u32 int_id;		/* The interrupt ID that triggers the execution ofthe evt_method. */
	struct acpi_namespace_node *evt_method;	/* The _EVT method to be executed when an interrupt with ID = int_ID is received */
};

/*****************************************************************************
 *
 * Generic "state" object for stacks
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#define METHOD_NAME__DDN        "_DDN"
#define METHOD_NAME__DIS        "_DIS"
#define METHOD_NAME__DMA        "_DMA"
#define METHOD_NAME__EVT        "_EVT"
#define METHOD_NAME__HID        "_HID"
#define METHOD_NAME__INI        "_INI"
#define METHOD_NAME__PLD        "_PLD"