Skip to content

Commit

Permalink
ACPICA: ACPI 5: Update debug output for new notify values
Browse files Browse the repository at this point in the history
Add new notify values, add support for "hardware specific" notifies.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Bob Moore authored and Len Brown committed Mar 22, 2012
1 parent 653f4b5 commit ea14360
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 28 deletions.
23 changes: 13 additions & 10 deletions drivers/acpi/acpica/evmisc.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,27 +108,30 @@ acpi_ev_queue_notify_request(struct acpi_namespace_node * node,
ACPI_FUNCTION_NAME(ev_queue_notify_request);

/*
* For value 3 (Ejection Request), some device method may need to be run.
* For value 2 (Device Wake) if _PRW exists, the _PS0 method may need
* to be run.
* For value 0x03 (Ejection Request), may need to run a device method.
* For value 0x02 (Device Wake), if _PRW exists, may need to run
* the _PS0 method.
* For value 0x80 (Status Change) on the power button or sleep button,
* initiate soft-off or sleep operation?
* initiate soft-off or sleep operation.
*
* For all cases, simply dispatch the notify to the handler.
*/
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Dispatching Notify on [%4.4s] Node %p Value 0x%2.2X (%s)\n",
acpi_ut_get_node_name(node), node, notify_value,
acpi_ut_get_notify_name(notify_value)));
"Dispatching Notify on [%4.4s] (%s) Value 0x%2.2X (%s) Node %p\n",
acpi_ut_get_node_name(node),
acpi_ut_get_type_name(node->type), notify_value,
acpi_ut_get_notify_name(notify_value), node));

/* Get the notify object attached to the NS Node */

obj_desc = acpi_ns_get_attached_object(node);
if (obj_desc) {

/* We have the notify object, Get the right handler */
/* We have the notify object, Get the correct handler */

switch (node->type) {

/* Notify allowed only on these types */
/* Notify is allowed only on these types */

case ACPI_TYPE_DEVICE:
case ACPI_TYPE_THERMAL:
Expand All @@ -152,7 +155,7 @@ acpi_ev_queue_notify_request(struct acpi_namespace_node * node,
}

/*
* If there is any handler to run, schedule the dispatcher.
* If there is a handler to run, schedule the dispatcher.
* Check for:
* 1) Global system notify handler
* 2) Global device notify handler
Expand Down
34 changes: 18 additions & 16 deletions drivers/acpi/acpica/utdecode.c
Original file line number Diff line number Diff line change
Expand Up @@ -497,19 +497,20 @@ char *acpi_ut_get_mutex_name(u32 mutex_id)

/* Names for Notify() values, used for debug output */

static const char *acpi_gbl_notify_value_names[] = {
"Bus Check",
"Device Check",
"Device Wake",
"Eject Request",
"Device Check Light",
"Frequency Mismatch",
"Bus Mode Mismatch",
"Power Fault",
"Capabilities Check",
"Device PLD Check",
"Reserved",
"System Locality Update"
static const char *acpi_gbl_notify_value_names[ACPI_NOTIFY_MAX + 1] = {
/* 00 */ "Bus Check",
/* 01 */ "Device Check",
/* 02 */ "Device Wake",
/* 03 */ "Eject Request",
/* 04 */ "Device Check Light",
/* 05 */ "Frequency Mismatch",
/* 06 */ "Bus Mode Mismatch",
/* 07 */ "Power Fault",
/* 08 */ "Capabilities Check",
/* 09 */ "Device PLD Check",
/* 10 */ "Reserved",
/* 11 */ "System Locality Update",
/* 12 */ "Shutdown Request"
};

const char *acpi_ut_get_notify_name(u32 notify_value)
Expand All @@ -519,9 +520,10 @@ const char *acpi_ut_get_notify_name(u32 notify_value)
return (acpi_gbl_notify_value_names[notify_value]);
} else if (notify_value <= ACPI_MAX_SYS_NOTIFY) {
return ("Reserved");
} else { /* Greater or equal to 0x80 */

return ("**Device Specific**");
} else if (notify_value <= ACPI_MAX_DEVICE_SPECIFIC_NOTIFY) {
return ("Device Specific");
} else {
return ("Hardware Specific");
}
}
#endif
Expand Down
6 changes: 4 additions & 2 deletions include/acpi/actypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -532,8 +532,9 @@ typedef u64 acpi_integer;
#define ACPI_NOTIFY_DEVICE_PLD_CHECK (u8) 0x09
#define ACPI_NOTIFY_RESERVED (u8) 0x0A
#define ACPI_NOTIFY_LOCALITY_UPDATE (u8) 0x0B
#define ACPI_NOTIFY_SHUTDOWN_REQUEST (u8) 0x0C

#define ACPI_NOTIFY_MAX 0x0B
#define ACPI_NOTIFY_MAX 0x0C

/*
* Types associated with ACPI names and objects. The first group of
Expand Down Expand Up @@ -698,7 +699,8 @@ typedef u32 acpi_event_status;
#define ACPI_ALL_NOTIFY (ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY)
#define ACPI_MAX_NOTIFY_HANDLER_TYPE 0x3

#define ACPI_MAX_SYS_NOTIFY 0x7f
#define ACPI_MAX_SYS_NOTIFY 0x7F
#define ACPI_MAX_DEVICE_SPECIFIC_NOTIFY 0xBF

/* Address Space (Operation Region) Types */

Expand Down

0 comments on commit ea14360

Please sign in to comment.