Loading drivers/acpi/acpica/acglobal.h +1 −0 Original line number Diff line number Diff line Loading @@ -305,6 +305,7 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_db_output_flags, ACPI_DB_CONSOLE_OUTPUT); ACPI_INIT_GLOBAL(u8, acpi_gbl_no_resource_disassembly, FALSE); ACPI_INIT_GLOBAL(u8, acpi_gbl_ignore_noop_operator, FALSE); ACPI_INIT_GLOBAL(u8, acpi_gbl_cstyle_disassembly, TRUE); ACPI_GLOBAL(u8, acpi_gbl_db_opt_disasm); ACPI_GLOBAL(u8, acpi_gbl_db_opt_verbose); Loading drivers/acpi/acpica/aclocal.h +4 −0 Original line number Diff line number Diff line Loading @@ -454,6 +454,7 @@ struct acpi_gpe_register_info { u16 base_gpe_number; /* Base GPE number for this register */ u8 enable_for_wake; /* GPEs to keep enabled when sleeping */ u8 enable_for_run; /* GPEs to keep enabled when running */ u8 enable_mask; /* Current mask of enabled GPEs */ }; /* Loading Loading @@ -722,6 +723,7 @@ union acpi_parse_value { ACPI_DISASM_ONLY_MEMBERS (\ u8 disasm_flags; /* Used during AML disassembly */\ u8 disasm_opcode; /* Subtype used for disassembly */\ char *operator_symbol;/* Used for C-style operator name strings */\ char aml_op_name[16]) /* Op name (debug only) */ /* Flags for disasm_flags field above */ Loading Loading @@ -827,6 +829,8 @@ struct acpi_parse_state { #define ACPI_PARSEOP_EMPTY_TERMLIST 0x04 #define ACPI_PARSEOP_PREDEF_CHECKED 0x08 #define ACPI_PARSEOP_SPECIAL 0x10 #define ACPI_PARSEOP_COMPOUND 0x20 #define ACPI_PARSEOP_ASSIGNMENT 0x40 /***************************************************************************** * Loading drivers/acpi/acpica/evgpe.c +3 −3 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info) /* Enable the requested GPE */ status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_ENABLE); status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_ENABLE_SAVE); return_ACPI_STATUS(status); } Loading Loading @@ -213,7 +213,7 @@ acpi_ev_remove_gpe_reference(struct acpi_gpe_event_info *gpe_event_info) if (ACPI_SUCCESS(status)) { status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE); ACPI_GPE_DISABLE_SAVE); } if (ACPI_FAILURE(status)) { Loading Loading @@ -655,7 +655,7 @@ acpi_status acpi_ev_finish_gpe(struct acpi_gpe_event_info * gpe_event_info) /* * Enable this GPE, conditionally. This means that the GPE will * only be physically enabled if the enable_for_run bit is set * only be physically enabled if the enable_mask bit is set * in the event_info. */ (void)acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_CONDITIONAL_ENABLE); Loading drivers/acpi/acpica/hwgpe.c +43 −10 Original line number Diff line number Diff line Loading @@ -115,12 +115,12 @@ acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action) /* Set or clear just the bit that corresponds to this GPE */ register_bit = acpi_hw_get_gpe_register_bit(gpe_event_info); switch (action) { switch (action & ~ACPI_GPE_SAVE_MASK) { case ACPI_GPE_CONDITIONAL_ENABLE: /* Only enable if the enable_for_run bit is set */ /* Only enable if the corresponding enable_mask bit is set */ if (!(register_bit & gpe_register_info->enable_for_run)) { if (!(register_bit & gpe_register_info->enable_mask)) { return (AE_BAD_PARAMETER); } Loading @@ -145,6 +145,9 @@ acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action) /* Write the updated enable mask */ status = acpi_hw_write(enable_mask, &gpe_register_info->enable_address); if (ACPI_SUCCESS(status) && (action & ACPI_GPE_SAVE_MASK)) { gpe_register_info->enable_mask = enable_mask; } return (status); } Loading Loading @@ -260,6 +263,32 @@ acpi_hw_get_gpe_status(struct acpi_gpe_event_info * gpe_event_info, return (AE_OK); } /****************************************************************************** * * FUNCTION: acpi_hw_gpe_enable_write * * PARAMETERS: enable_mask - Bit mask to write to the GPE register * gpe_register_info - Gpe Register info * * RETURN: Status * * DESCRIPTION: Write the enable mask byte to the given GPE register. * ******************************************************************************/ static acpi_status acpi_hw_gpe_enable_write(u8 enable_mask, struct acpi_gpe_register_info *gpe_register_info) { acpi_status status; status = acpi_hw_write(enable_mask, &gpe_register_info->enable_address); if (ACPI_SUCCESS(status)) { gpe_register_info->enable_mask = enable_mask; } return (status); } /****************************************************************************** * * FUNCTION: acpi_hw_disable_gpe_block Loading Loading @@ -287,8 +316,8 @@ acpi_hw_disable_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, /* Disable all GPEs in this register */ status = acpi_hw_write(0x00, &gpe_block->register_info[i].enable_address); acpi_hw_gpe_enable_write(0x00, &gpe_block->register_info[i]); if (ACPI_FAILURE(status)) { return (status); } Loading Loading @@ -355,21 +384,23 @@ acpi_hw_enable_runtime_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, { u32 i; acpi_status status; struct acpi_gpe_register_info *gpe_register_info; /* NOTE: assumes that all GPEs are currently disabled */ /* Examine each GPE Register within the block */ for (i = 0; i < gpe_block->register_count; i++) { if (!gpe_block->register_info[i].enable_for_run) { gpe_register_info = &gpe_block->register_info[i]; if (!gpe_register_info->enable_for_run) { continue; } /* Enable all "runtime" GPEs in this register */ status = acpi_hw_write(gpe_block->register_info[i].enable_for_run, &gpe_block->register_info[i].enable_address); acpi_hw_gpe_enable_write(gpe_register_info->enable_for_run, gpe_register_info); if (ACPI_FAILURE(status)) { return (status); } Loading Loading @@ -399,10 +430,12 @@ acpi_hw_enable_wakeup_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, { u32 i; acpi_status status; struct acpi_gpe_register_info *gpe_register_info; /* Examine each GPE Register within the block */ for (i = 0; i < gpe_block->register_count; i++) { gpe_register_info = &gpe_block->register_info[i]; /* * Enable all "wake" GPEs in this register and disable the Loading @@ -410,8 +443,8 @@ acpi_hw_enable_wakeup_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, */ status = acpi_hw_write(gpe_block->register_info[i].enable_for_wake, &gpe_block->register_info[i].enable_address); acpi_hw_gpe_enable_write(gpe_register_info->enable_for_wake, gpe_register_info); if (ACPI_FAILURE(status)) { return (status); } Loading drivers/acpi/acpica/utresrc.c +1 −1 Original line number Diff line number Diff line Loading @@ -263,7 +263,7 @@ const char *acpi_gbl_bpb_decode[] = { /* UART serial bus stop bits */ const char *acpi_gbl_sb_decode[] = { "StopBitsNone", "StopBitsZero", "StopBitsOne", "StopBitsOnePlusHalf", "StopBitsTwo" Loading Loading
drivers/acpi/acpica/acglobal.h +1 −0 Original line number Diff line number Diff line Loading @@ -305,6 +305,7 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_db_output_flags, ACPI_DB_CONSOLE_OUTPUT); ACPI_INIT_GLOBAL(u8, acpi_gbl_no_resource_disassembly, FALSE); ACPI_INIT_GLOBAL(u8, acpi_gbl_ignore_noop_operator, FALSE); ACPI_INIT_GLOBAL(u8, acpi_gbl_cstyle_disassembly, TRUE); ACPI_GLOBAL(u8, acpi_gbl_db_opt_disasm); ACPI_GLOBAL(u8, acpi_gbl_db_opt_verbose); Loading
drivers/acpi/acpica/aclocal.h +4 −0 Original line number Diff line number Diff line Loading @@ -454,6 +454,7 @@ struct acpi_gpe_register_info { u16 base_gpe_number; /* Base GPE number for this register */ u8 enable_for_wake; /* GPEs to keep enabled when sleeping */ u8 enable_for_run; /* GPEs to keep enabled when running */ u8 enable_mask; /* Current mask of enabled GPEs */ }; /* Loading Loading @@ -722,6 +723,7 @@ union acpi_parse_value { ACPI_DISASM_ONLY_MEMBERS (\ u8 disasm_flags; /* Used during AML disassembly */\ u8 disasm_opcode; /* Subtype used for disassembly */\ char *operator_symbol;/* Used for C-style operator name strings */\ char aml_op_name[16]) /* Op name (debug only) */ /* Flags for disasm_flags field above */ Loading Loading @@ -827,6 +829,8 @@ struct acpi_parse_state { #define ACPI_PARSEOP_EMPTY_TERMLIST 0x04 #define ACPI_PARSEOP_PREDEF_CHECKED 0x08 #define ACPI_PARSEOP_SPECIAL 0x10 #define ACPI_PARSEOP_COMPOUND 0x20 #define ACPI_PARSEOP_ASSIGNMENT 0x40 /***************************************************************************** * Loading
drivers/acpi/acpica/evgpe.c +3 −3 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info) /* Enable the requested GPE */ status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_ENABLE); status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_ENABLE_SAVE); return_ACPI_STATUS(status); } Loading Loading @@ -213,7 +213,7 @@ acpi_ev_remove_gpe_reference(struct acpi_gpe_event_info *gpe_event_info) if (ACPI_SUCCESS(status)) { status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE); ACPI_GPE_DISABLE_SAVE); } if (ACPI_FAILURE(status)) { Loading Loading @@ -655,7 +655,7 @@ acpi_status acpi_ev_finish_gpe(struct acpi_gpe_event_info * gpe_event_info) /* * Enable this GPE, conditionally. This means that the GPE will * only be physically enabled if the enable_for_run bit is set * only be physically enabled if the enable_mask bit is set * in the event_info. */ (void)acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_CONDITIONAL_ENABLE); Loading
drivers/acpi/acpica/hwgpe.c +43 −10 Original line number Diff line number Diff line Loading @@ -115,12 +115,12 @@ acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action) /* Set or clear just the bit that corresponds to this GPE */ register_bit = acpi_hw_get_gpe_register_bit(gpe_event_info); switch (action) { switch (action & ~ACPI_GPE_SAVE_MASK) { case ACPI_GPE_CONDITIONAL_ENABLE: /* Only enable if the enable_for_run bit is set */ /* Only enable if the corresponding enable_mask bit is set */ if (!(register_bit & gpe_register_info->enable_for_run)) { if (!(register_bit & gpe_register_info->enable_mask)) { return (AE_BAD_PARAMETER); } Loading @@ -145,6 +145,9 @@ acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action) /* Write the updated enable mask */ status = acpi_hw_write(enable_mask, &gpe_register_info->enable_address); if (ACPI_SUCCESS(status) && (action & ACPI_GPE_SAVE_MASK)) { gpe_register_info->enable_mask = enable_mask; } return (status); } Loading Loading @@ -260,6 +263,32 @@ acpi_hw_get_gpe_status(struct acpi_gpe_event_info * gpe_event_info, return (AE_OK); } /****************************************************************************** * * FUNCTION: acpi_hw_gpe_enable_write * * PARAMETERS: enable_mask - Bit mask to write to the GPE register * gpe_register_info - Gpe Register info * * RETURN: Status * * DESCRIPTION: Write the enable mask byte to the given GPE register. * ******************************************************************************/ static acpi_status acpi_hw_gpe_enable_write(u8 enable_mask, struct acpi_gpe_register_info *gpe_register_info) { acpi_status status; status = acpi_hw_write(enable_mask, &gpe_register_info->enable_address); if (ACPI_SUCCESS(status)) { gpe_register_info->enable_mask = enable_mask; } return (status); } /****************************************************************************** * * FUNCTION: acpi_hw_disable_gpe_block Loading Loading @@ -287,8 +316,8 @@ acpi_hw_disable_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, /* Disable all GPEs in this register */ status = acpi_hw_write(0x00, &gpe_block->register_info[i].enable_address); acpi_hw_gpe_enable_write(0x00, &gpe_block->register_info[i]); if (ACPI_FAILURE(status)) { return (status); } Loading Loading @@ -355,21 +384,23 @@ acpi_hw_enable_runtime_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, { u32 i; acpi_status status; struct acpi_gpe_register_info *gpe_register_info; /* NOTE: assumes that all GPEs are currently disabled */ /* Examine each GPE Register within the block */ for (i = 0; i < gpe_block->register_count; i++) { if (!gpe_block->register_info[i].enable_for_run) { gpe_register_info = &gpe_block->register_info[i]; if (!gpe_register_info->enable_for_run) { continue; } /* Enable all "runtime" GPEs in this register */ status = acpi_hw_write(gpe_block->register_info[i].enable_for_run, &gpe_block->register_info[i].enable_address); acpi_hw_gpe_enable_write(gpe_register_info->enable_for_run, gpe_register_info); if (ACPI_FAILURE(status)) { return (status); } Loading Loading @@ -399,10 +430,12 @@ acpi_hw_enable_wakeup_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, { u32 i; acpi_status status; struct acpi_gpe_register_info *gpe_register_info; /* Examine each GPE Register within the block */ for (i = 0; i < gpe_block->register_count; i++) { gpe_register_info = &gpe_block->register_info[i]; /* * Enable all "wake" GPEs in this register and disable the Loading @@ -410,8 +443,8 @@ acpi_hw_enable_wakeup_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info, */ status = acpi_hw_write(gpe_block->register_info[i].enable_for_wake, &gpe_block->register_info[i].enable_address); acpi_hw_gpe_enable_write(gpe_register_info->enable_for_wake, gpe_register_info); if (ACPI_FAILURE(status)) { return (status); } Loading
drivers/acpi/acpica/utresrc.c +1 −1 Original line number Diff line number Diff line Loading @@ -263,7 +263,7 @@ const char *acpi_gbl_bpb_decode[] = { /* UART serial bus stop bits */ const char *acpi_gbl_sb_decode[] = { "StopBitsNone", "StopBitsZero", "StopBitsOne", "StopBitsOnePlusHalf", "StopBitsTwo" Loading