mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-merge-2.6
* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-merge-2.6: (87 commits) Fix FADT parsing Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. ACPI: use dev_printk when possible PNPACPI: add support for HP vendor-specific CCSR descriptors PNP: avoid legacy IDE IRQs PNP: convert resource options to single linked list ISAPNP: handle independent options following dependent ones PNP: remove extra 0x100 bit from option priority PNP: support optional IRQ resources PNP: rename pnp_register_*_resource() local variables PNPACPI: ignore _PRS interrupt numbers larger than PNP_IRQ_NR PNP: centralize resource option allocations PNP: remove redundant pnp_can_configure() check PNP: make resource assignment functions return 0 (success) or -EBUSY (failure) PNP: in debug resource dump, make empty list obvious PNP: improve resource assignment debug PNP: increase I/O port & memory option address sizes PNP: introduce pnp_irq_mask_t typedef PNP: make resource option structures private to PNP subsystem PNP: define PNP-specific IORESOURCE_IO_* flags alongside IRQ, DMA, MEM ...
This commit is contained in:
@@ -29,46 +29,46 @@ Description:
|
||||
|
||||
$ cd /sys/firmware/acpi/interrupts
|
||||
$ grep . *
|
||||
error:0
|
||||
ff_gbl_lock:0
|
||||
ff_pmtimer:0
|
||||
ff_pwr_btn:0
|
||||
ff_rt_clk:0
|
||||
ff_slp_btn:0
|
||||
gpe00:0
|
||||
gpe01:0
|
||||
gpe02:0
|
||||
gpe03:0
|
||||
gpe04:0
|
||||
gpe05:0
|
||||
gpe06:0
|
||||
gpe07:0
|
||||
gpe08:0
|
||||
gpe09:174
|
||||
gpe0A:0
|
||||
gpe0B:0
|
||||
gpe0C:0
|
||||
gpe0D:0
|
||||
gpe0E:0
|
||||
gpe0F:0
|
||||
gpe10:0
|
||||
gpe11:60
|
||||
gpe12:0
|
||||
gpe13:0
|
||||
gpe14:0
|
||||
gpe15:0
|
||||
gpe16:0
|
||||
gpe17:0
|
||||
gpe18:0
|
||||
gpe19:7
|
||||
gpe1A:0
|
||||
gpe1B:0
|
||||
gpe1C:0
|
||||
gpe1D:0
|
||||
gpe1E:0
|
||||
gpe1F:0
|
||||
gpe_all:241
|
||||
sci:241
|
||||
error: 0
|
||||
ff_gbl_lock: 0 enable
|
||||
ff_pmtimer: 0 invalid
|
||||
ff_pwr_btn: 0 enable
|
||||
ff_rt_clk: 2 disable
|
||||
ff_slp_btn: 0 invalid
|
||||
gpe00: 0 invalid
|
||||
gpe01: 0 enable
|
||||
gpe02: 108 enable
|
||||
gpe03: 0 invalid
|
||||
gpe04: 0 invalid
|
||||
gpe05: 0 invalid
|
||||
gpe06: 0 enable
|
||||
gpe07: 0 enable
|
||||
gpe08: 0 invalid
|
||||
gpe09: 0 invalid
|
||||
gpe0A: 0 invalid
|
||||
gpe0B: 0 invalid
|
||||
gpe0C: 0 invalid
|
||||
gpe0D: 0 invalid
|
||||
gpe0E: 0 invalid
|
||||
gpe0F: 0 invalid
|
||||
gpe10: 0 invalid
|
||||
gpe11: 0 invalid
|
||||
gpe12: 0 invalid
|
||||
gpe13: 0 invalid
|
||||
gpe14: 0 invalid
|
||||
gpe15: 0 invalid
|
||||
gpe16: 0 invalid
|
||||
gpe17: 1084 enable
|
||||
gpe18: 0 enable
|
||||
gpe19: 0 invalid
|
||||
gpe1A: 0 invalid
|
||||
gpe1B: 0 invalid
|
||||
gpe1C: 0 invalid
|
||||
gpe1D: 0 invalid
|
||||
gpe1E: 0 invalid
|
||||
gpe1F: 0 invalid
|
||||
gpe_all: 1192
|
||||
sci: 1194
|
||||
|
||||
sci - The total number of times the ACPI SCI
|
||||
has claimed an interrupt.
|
||||
@@ -89,6 +89,13 @@ Description:
|
||||
|
||||
error - an interrupt that can't be accounted for above.
|
||||
|
||||
invalid: it's either a wakeup GPE or a GPE/Fixed Event that
|
||||
doesn't have an event handler.
|
||||
|
||||
disable: the GPE/Fixed Event is valid but disabled.
|
||||
|
||||
enable: the GPE/Fixed Event is valid and enabled.
|
||||
|
||||
Root has permission to clear any of these counters. Eg.
|
||||
# echo 0 > gpe11
|
||||
|
||||
@@ -97,3 +104,43 @@ Description:
|
||||
|
||||
None of these counters has an effect on the function
|
||||
of the system, they are simply statistics.
|
||||
|
||||
Besides this, user can also write specific strings to these files
|
||||
to enable/disable/clear ACPI interrupts in user space, which can be
|
||||
used to debug some ACPI interrupt storm issues.
|
||||
|
||||
Note that only writting to VALID GPE/Fixed Event is allowed,
|
||||
i.e. user can only change the status of runtime GPE and
|
||||
Fixed Event with event handler installed.
|
||||
|
||||
Let's take power button fixed event for example, please kill acpid
|
||||
and other user space applications so that the machine won't shutdown
|
||||
when pressing the power button.
|
||||
# cat ff_pwr_btn
|
||||
0
|
||||
# press the power button for 3 times;
|
||||
# cat ff_pwr_btn
|
||||
3
|
||||
# echo disable > ff_pwr_btn
|
||||
# cat ff_pwr_btn
|
||||
disable
|
||||
# press the power button for 3 times;
|
||||
# cat ff_pwr_btn
|
||||
disable
|
||||
# echo enable > ff_pwr_btn
|
||||
# cat ff_pwr_btn
|
||||
4
|
||||
/*
|
||||
* this is because the status bit is set even if the enable bit is cleared,
|
||||
* and it triggers an ACPI fixed event when the enable bit is set again
|
||||
*/
|
||||
# press the power button for 3 times;
|
||||
# cat ff_pwr_btn
|
||||
7
|
||||
# echo disable > ff_pwr_btn
|
||||
# press the power button for 3 times;
|
||||
# echo clear > ff_pwr_btn /* clear the status bit */
|
||||
# echo disable > ff_pwr_btn
|
||||
# cat ff_pwr_btn
|
||||
7
|
||||
|
||||
|
||||
@@ -818,7 +818,7 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||
See Documentation/ide/ide.txt.
|
||||
|
||||
idle= [X86]
|
||||
Format: idle=poll or idle=mwait
|
||||
Format: idle=poll or idle=mwait, idle=halt, idle=nomwait
|
||||
Poll forces a polling idle loop that can slightly improves the performance
|
||||
of waking up a idle CPU, but will use a lot of power and make the system
|
||||
run hot. Not recommended.
|
||||
@@ -826,6 +826,9 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||
to not use it because it doesn't save as much power as a normal idle
|
||||
loop use the MONITOR/MWAIT idle loop anyways. Performance should be the same
|
||||
as idle=poll.
|
||||
idle=halt. Halt is forced to be used for CPU idle.
|
||||
In such case C2/C3 won't be used again.
|
||||
idle=nomwait. Disable mwait for CPU C-states
|
||||
|
||||
ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem
|
||||
Claim all unknown PCI IDE storage controllers.
|
||||
|
||||
@@ -174,8 +174,6 @@ The LED is exposed through the LED subsystem, and can be found in:
|
||||
The mail LED is autodetected, so if you don't have one, the LED device won't
|
||||
be registered.
|
||||
|
||||
If you have a mail LED that is not green, please report this to me.
|
||||
|
||||
Backlight
|
||||
*********
|
||||
|
||||
|
||||
25
MAINTAINERS
25
MAINTAINERS
@@ -216,8 +216,8 @@ W: http://code.google.com/p/aceracpi
|
||||
S: Maintained
|
||||
|
||||
ACPI
|
||||
P: Len Brown
|
||||
M: len.brown@intel.com
|
||||
P: Andi Kleen
|
||||
M: ak@linux.intel.com
|
||||
M: lenb@kernel.org
|
||||
L: linux-acpi@vger.kernel.org
|
||||
W: http://www.lesswatts.org/projects/acpi/
|
||||
@@ -239,8 +239,8 @@ W: http://www.lesswatts.org/projects/acpi/
|
||||
S: Supported
|
||||
|
||||
ACPI FAN DRIVER
|
||||
P: Len Brown
|
||||
M: len.brown@intel.com
|
||||
P: Zhang Rui
|
||||
M: rui.zhang@intel.com
|
||||
L: linux-acpi@vger.kernel.org
|
||||
W: http://www.lesswatts.org/projects/acpi/
|
||||
S: Supported
|
||||
@@ -252,14 +252,14 @@ L: pcihpd-discuss@lists.sourceforge.net
|
||||
S: Supported
|
||||
|
||||
ACPI THERMAL DRIVER
|
||||
P: Len Brown
|
||||
M: len.brown@intel.com
|
||||
P: Zhang Rui
|
||||
M: rui.zhang@intel.com
|
||||
L: linux-acpi@vger.kernel.org
|
||||
W: http://www.lesswatts.org/projects/acpi/
|
||||
S: Supported
|
||||
|
||||
ACPI VIDEO DRIVER
|
||||
P: Rui Zhang
|
||||
P: Zhang Rui
|
||||
M: rui.zhang@intel.com
|
||||
L: linux-acpi@vger.kernel.org
|
||||
W: http://www.lesswatts.org/projects/acpi/
|
||||
@@ -1160,6 +1160,11 @@ M: scott@spiteful.org
|
||||
L: pcihpd-discuss@lists.sourceforge.net
|
||||
S: Supported
|
||||
|
||||
COMPAL LAPTOP SUPPORT
|
||||
P: Cezary Jackiewicz
|
||||
M: cezary.jackiewicz@gmail.com
|
||||
S: Maintained
|
||||
|
||||
COMPUTONE INTELLIPORT MULTIPORT CARD
|
||||
P: Michael H. Warfield
|
||||
M: mhw@wittsend.com
|
||||
@@ -1787,6 +1792,12 @@ P: David Howells
|
||||
M: dhowells@redhat.com
|
||||
S: Maintained
|
||||
|
||||
FUJITSU LAPTOP EXTRAS
|
||||
P: Jonathan Woithe
|
||||
M: jwoithe@physics.adelaide.edu.au
|
||||
L: linux-acpi@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
FUSE: FILESYSTEM IN USERSPACE
|
||||
P: Miklos Szeredi
|
||||
M: miklos@szeredi.hu
|
||||
|
||||
@@ -55,6 +55,10 @@ void (*ia64_mark_idle)(int);
|
||||
|
||||
unsigned long boot_option_idle_override = 0;
|
||||
EXPORT_SYMBOL(boot_option_idle_override);
|
||||
unsigned long idle_halt;
|
||||
EXPORT_SYMBOL(idle_halt);
|
||||
unsigned long idle_nomwait;
|
||||
EXPORT_SYMBOL(idle_nomwait);
|
||||
|
||||
void
|
||||
ia64_do_show_stack (struct unw_frame_info *info, void *arg)
|
||||
|
||||
@@ -56,6 +56,12 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c)
|
||||
if (cpu_has(c, X86_FEATURE_ACPI))
|
||||
buf[2] |= ACPI_PDC_T_FFH;
|
||||
|
||||
/*
|
||||
* If mwait/monitor is unsupported, C2/C3_FFH will be disabled
|
||||
*/
|
||||
if (!cpu_has(c, X86_FEATURE_MWAIT))
|
||||
buf[2] &= ~(ACPI_PDC_C_C2C3_FFH);
|
||||
|
||||
obj->type = ACPI_TYPE_BUFFER;
|
||||
obj->buffer.length = 12;
|
||||
obj->buffer.pointer = (u8 *) buf;
|
||||
|
||||
@@ -7,6 +7,12 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/clockchips.h>
|
||||
#include <asm/system.h>
|
||||
|
||||
unsigned long idle_halt;
|
||||
EXPORT_SYMBOL(idle_halt);
|
||||
unsigned long idle_nomwait;
|
||||
EXPORT_SYMBOL(idle_nomwait);
|
||||
|
||||
struct kmem_cache *task_xstate_cachep;
|
||||
|
||||
@@ -325,7 +331,27 @@ static int __init idle_setup(char *str)
|
||||
pm_idle = poll_idle;
|
||||
} else if (!strcmp(str, "mwait"))
|
||||
force_mwait = 1;
|
||||
else
|
||||
else if (!strcmp(str, "halt")) {
|
||||
/*
|
||||
* When the boot option of idle=halt is added, halt is
|
||||
* forced to be used for CPU idle. In such case CPU C2/C3
|
||||
* won't be used again.
|
||||
* To continue to load the CPU idle driver, don't touch
|
||||
* the boot_option_idle_override.
|
||||
*/
|
||||
pm_idle = default_idle;
|
||||
idle_halt = 1;
|
||||
return 0;
|
||||
} else if (!strcmp(str, "nomwait")) {
|
||||
/*
|
||||
* If the boot option of "idle=nomwait" is added,
|
||||
* it means that mwait will be disabled for CPU C2/C3
|
||||
* states. In such case it won't touch the variable
|
||||
* of boot_option_idle_override.
|
||||
*/
|
||||
idle_nomwait = 1;
|
||||
return 0;
|
||||
} else
|
||||
return -1;
|
||||
|
||||
boot_option_idle_override = 1;
|
||||
|
||||
@@ -156,10 +156,9 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *memory_affinity)
|
||||
|
||||
num_memory_chunks++;
|
||||
|
||||
printk(KERN_DEBUG "Memory range %08lx to %08lx (type %x)"
|
||||
printk(KERN_DEBUG "Memory range %08lx to %08lx"
|
||||
" in proximity domain %02x %s\n",
|
||||
start_pfn, end_pfn,
|
||||
memory_affinity->memory_type,
|
||||
pxm,
|
||||
((memory_affinity->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) ?
|
||||
"enabled and removable" : "enabled" ) );
|
||||
|
||||
@@ -21,7 +21,7 @@ obj-$(CONFIG_X86) += blacklist.o
|
||||
#
|
||||
# ACPI Core Subsystem (Interpreter)
|
||||
#
|
||||
obj-y += osl.o utils.o \
|
||||
obj-y += osl.o utils.o reboot.o\
|
||||
dispatcher/ events/ executer/ hardware/ \
|
||||
namespace/ parser/ resources/ tables/ \
|
||||
utilities/
|
||||
|
||||
@@ -377,6 +377,9 @@ static int __init bay_init(void)
|
||||
|
||||
INIT_LIST_HEAD(&drive_bays);
|
||||
|
||||
if (acpi_disabled)
|
||||
return -ENODEV;
|
||||
|
||||
if (acpi_disabled)
|
||||
return -ENODEV;
|
||||
|
||||
|
||||
@@ -612,7 +612,7 @@ static int __init acpi_bus_init_irq(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
acpi_native_uint acpi_gbl_permanent_mmap;
|
||||
u8 acpi_gbl_permanent_mmap;
|
||||
|
||||
|
||||
void __init acpi_early_init(void)
|
||||
|
||||
@@ -151,7 +151,7 @@ acpi_ds_init_one_object(acpi_handle obj_handle,
|
||||
******************************************************************************/
|
||||
|
||||
acpi_status
|
||||
acpi_ds_initialize_objects(acpi_native_uint table_index,
|
||||
acpi_ds_initialize_objects(u32 table_index,
|
||||
struct acpi_namespace_node * start_node)
|
||||
{
|
||||
acpi_status status;
|
||||
|
||||
@@ -377,7 +377,6 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,
|
||||
}
|
||||
|
||||
info->parameters = &this_walk_state->operands[0];
|
||||
info->parameter_type = ACPI_PARAM_ARGS;
|
||||
|
||||
status = acpi_ds_init_aml_walk(next_walk_state, NULL, method_node,
|
||||
obj_desc->method.aml_start,
|
||||
|
||||
@@ -691,12 +691,6 @@ acpi_ds_eval_buffer_field_operands(struct acpi_walk_state *walk_state,
|
||||
|
||||
status = acpi_ex_resolve_operands(op->common.aml_opcode,
|
||||
ACPI_WALK_OPERANDS, walk_state);
|
||||
|
||||
ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
|
||||
acpi_ps_get_opcode_name(op->common.aml_opcode),
|
||||
walk_state->num_operands,
|
||||
"after AcpiExResolveOperands");
|
||||
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ACPI_ERROR((AE_INFO, "(%s) bad operand(s) (%X)",
|
||||
acpi_ps_get_opcode_name(op->common.aml_opcode),
|
||||
@@ -785,10 +779,6 @@ acpi_ds_eval_region_operands(struct acpi_walk_state *walk_state,
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
||||
ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
|
||||
acpi_ps_get_opcode_name(op->common.aml_opcode),
|
||||
1, "after AcpiExResolveOperands");
|
||||
|
||||
obj_desc = acpi_ns_get_attached_object(node);
|
||||
if (!obj_desc) {
|
||||
return_ACPI_STATUS(AE_NOT_EXIST);
|
||||
@@ -848,7 +838,7 @@ acpi_ds_eval_table_region_operands(struct acpi_walk_state *walk_state,
|
||||
union acpi_operand_object **operand;
|
||||
struct acpi_namespace_node *node;
|
||||
union acpi_parse_object *next_op;
|
||||
acpi_native_uint table_index;
|
||||
u32 table_index;
|
||||
struct acpi_table_header *table;
|
||||
|
||||
ACPI_FUNCTION_TRACE_PTR(ds_eval_table_region_operands, op);
|
||||
@@ -882,10 +872,6 @@ acpi_ds_eval_table_region_operands(struct acpi_walk_state *walk_state,
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
||||
ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
|
||||
acpi_ps_get_opcode_name(op->common.aml_opcode),
|
||||
1, "after AcpiExResolveOperands");
|
||||
|
||||
operand = &walk_state->operands[0];
|
||||
|
||||
/* Find the ACPI table */
|
||||
@@ -1091,10 +1077,8 @@ acpi_ds_eval_bank_field_operands(struct acpi_walk_state *walk_state,
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
||||
ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
|
||||
acpi_ps_get_opcode_name(op->common.aml_opcode),
|
||||
1, "after AcpiExResolveOperands");
|
||||
|
||||
ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS,
|
||||
acpi_ps_get_opcode_name(op->common.aml_opcode), 1);
|
||||
/*
|
||||
* Get the bank_value operand and save it
|
||||
* (at Top of stack)
|
||||
|
||||
@@ -408,14 +408,6 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
|
||||
[walk_state->
|
||||
num_operands - 1]),
|
||||
walk_state);
|
||||
if (ACPI_SUCCESS(status)) {
|
||||
ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS,
|
||||
ACPI_IMODE_EXECUTE,
|
||||
acpi_ps_get_opcode_name
|
||||
(walk_state->opcode),
|
||||
walk_state->num_operands,
|
||||
"after ExResolveOperands");
|
||||
}
|
||||
}
|
||||
|
||||
if (ACPI_SUCCESS(status)) {
|
||||
|
||||
@@ -70,7 +70,7 @@ acpi_status
|
||||
acpi_ds_result_pop(union acpi_operand_object **object,
|
||||
struct acpi_walk_state *walk_state)
|
||||
{
|
||||
acpi_native_uint index;
|
||||
u32 index;
|
||||
union acpi_generic_state *state;
|
||||
acpi_status status;
|
||||
|
||||
@@ -122,7 +122,7 @@ acpi_ds_result_pop(union acpi_operand_object **object,
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
|
||||
"Obj=%p [%s] Index=%X State=%p Num=%X\n", *object,
|
||||
acpi_ut_get_object_type_name(*object),
|
||||
(u32) index, walk_state, walk_state->result_count));
|
||||
index, walk_state, walk_state->result_count));
|
||||
|
||||
return (AE_OK);
|
||||
}
|
||||
@@ -146,7 +146,7 @@ acpi_ds_result_push(union acpi_operand_object * object,
|
||||
{
|
||||
union acpi_generic_state *state;
|
||||
acpi_status status;
|
||||
acpi_native_uint index;
|
||||
u32 index;
|
||||
|
||||
ACPI_FUNCTION_NAME(ds_result_push);
|
||||
|
||||
@@ -400,7 +400,7 @@ void
|
||||
acpi_ds_obj_stack_pop_and_delete(u32 pop_count,
|
||||
struct acpi_walk_state *walk_state)
|
||||
{
|
||||
acpi_native_int i;
|
||||
s32 i;
|
||||
union acpi_operand_object *obj_desc;
|
||||
|
||||
ACPI_FUNCTION_NAME(ds_obj_stack_pop_and_delete);
|
||||
@@ -409,7 +409,7 @@ acpi_ds_obj_stack_pop_and_delete(u32 pop_count,
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = (acpi_native_int) (pop_count - 1); i >= 0; i--) {
|
||||
for (i = (s32) pop_count - 1; i >= 0; i--) {
|
||||
if (walk_state->num_operands == 0) {
|
||||
return;
|
||||
}
|
||||
@@ -615,14 +615,8 @@ acpi_ds_init_aml_walk(struct acpi_walk_state *walk_state,
|
||||
walk_state->pass_number = pass_number;
|
||||
|
||||
if (info) {
|
||||
if (info->parameter_type == ACPI_PARAM_GPE) {
|
||||
walk_state->gpe_event_info =
|
||||
ACPI_CAST_PTR(struct acpi_gpe_event_info,
|
||||
info->parameters);
|
||||
} else {
|
||||
walk_state->params = info->parameters;
|
||||
walk_state->caller_return_desc = &info->return_object;
|
||||
}
|
||||
walk_state->params = info->parameters;
|
||||
walk_state->caller_return_desc = &info->return_object;
|
||||
}
|
||||
|
||||
status = acpi_ps_init_scope(&walk_state->parser_state, op);
|
||||
|
||||
@@ -917,6 +917,9 @@ static int __init dock_init(void)
|
||||
|
||||
dock_station = NULL;
|
||||
|
||||
if (acpi_disabled)
|
||||
return 0;
|
||||
|
||||
if (acpi_disabled)
|
||||
return 0;
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ acpi_status acpi_ev_install_xrupt_handlers(void)
|
||||
|
||||
static acpi_status acpi_ev_fixed_event_initialize(void)
|
||||
{
|
||||
acpi_native_uint i;
|
||||
u32 i;
|
||||
acpi_status status;
|
||||
|
||||
/*
|
||||
@@ -231,7 +231,7 @@ u32 acpi_ev_fixed_event_detect(void)
|
||||
u32 int_status = ACPI_INTERRUPT_NOT_HANDLED;
|
||||
u32 fixed_status;
|
||||
u32 fixed_enable;
|
||||
acpi_native_uint i;
|
||||
u32 i;
|
||||
|
||||
ACPI_FUNCTION_NAME(ev_fixed_event_detect);
|
||||
|
||||
@@ -260,7 +260,7 @@ u32 acpi_ev_fixed_event_detect(void)
|
||||
|
||||
/* Found an active (signalled) event */
|
||||
acpi_os_fixed_event_count(i);
|
||||
int_status |= acpi_ev_fixed_event_dispatch((u32) i);
|
||||
int_status |= acpi_ev_fixed_event_dispatch(i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ acpi_status acpi_ev_disable_gpe(struct acpi_gpe_event_info *gpe_event_info)
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
||||
/* Mark wake-disabled or HW disable, or both */
|
||||
/* Clear the appropriate enabled flags for this GPE */
|
||||
|
||||
switch (gpe_event_info->flags & ACPI_GPE_TYPE_MASK) {
|
||||
case ACPI_GPE_TYPE_WAKE:
|
||||
@@ -273,13 +273,23 @@ acpi_status acpi_ev_disable_gpe(struct acpi_gpe_event_info *gpe_event_info)
|
||||
/* Disable the requested runtime GPE */
|
||||
|
||||
ACPI_CLEAR_BIT(gpe_event_info->flags, ACPI_GPE_RUN_ENABLED);
|
||||
|
||||
/* fallthrough */
|
||||
break;
|
||||
|
||||
default:
|
||||
acpi_hw_write_gpe_enable_reg(gpe_event_info);
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* Even if we don't know the GPE type, make sure that we always
|
||||
* disable it. low_disable_gpe will just clear the enable bit for this
|
||||
* GPE and write it. It will not write out the current GPE enable mask,
|
||||
* since this may inadvertently enable GPEs too early, if a rogue GPE has
|
||||
* come in during ACPICA initialization - possibly as a result of AML or
|
||||
* other code that has enabled the GPE.
|
||||
*/
|
||||
status = acpi_hw_low_disable_gpe(gpe_event_info);
|
||||
return_ACPI_STATUS(status);
|
||||
|
||||
return_ACPI_STATUS(AE_OK);
|
||||
}
|
||||
|
||||
@@ -305,7 +315,7 @@ struct acpi_gpe_event_info *acpi_ev_get_gpe_event_info(acpi_handle gpe_device,
|
||||
{
|
||||
union acpi_operand_object *obj_desc;
|
||||
struct acpi_gpe_block_info *gpe_block;
|
||||
acpi_native_uint i;
|
||||
u32 i;
|
||||
|
||||
ACPI_FUNCTION_ENTRY();
|
||||
|
||||
@@ -379,8 +389,8 @@ u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info * gpe_xrupt_list)
|
||||
u32 status_reg;
|
||||
u32 enable_reg;
|
||||
acpi_cpu_flags flags;
|
||||
acpi_native_uint i;
|
||||
acpi_native_uint j;
|
||||
u32 i;
|
||||
u32 j;
|
||||
|
||||
ACPI_FUNCTION_NAME(ev_gpe_detect);
|
||||
|
||||
@@ -462,13 +472,7 @@ u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info * gpe_xrupt_list)
|
||||
*/
|
||||
int_status |=
|
||||
acpi_ev_gpe_dispatch(&gpe_block->
|
||||
event_info[(i *
|
||||
ACPI_GPE_REGISTER_WIDTH)
|
||||
+
|
||||
j],
|
||||
(u32) j +
|
||||
gpe_register_info->
|
||||
base_gpe_number);
|
||||
event_info[((acpi_size) i * ACPI_GPE_REGISTER_WIDTH) + j], j + gpe_register_info->base_gpe_number);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -555,10 +559,6 @@ static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context)
|
||||
*/
|
||||
info->prefix_node =
|
||||
local_gpe_event_info.dispatch.method_node;
|
||||
info->parameters =
|
||||
ACPI_CAST_PTR(union acpi_operand_object *,
|
||||
gpe_event_info);
|
||||
info->parameter_type = ACPI_PARAM_GPE;
|
||||
info->flags = ACPI_IGNORE_RETURN_VALUE;
|
||||
|
||||
status = acpi_ns_evaluate(info);
|
||||
|
||||
@@ -189,8 +189,8 @@ acpi_ev_delete_gpe_handlers(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
|
||||
struct acpi_gpe_block_info *gpe_block)
|
||||
{
|
||||
struct acpi_gpe_event_info *gpe_event_info;
|
||||
acpi_native_uint i;
|
||||
acpi_native_uint j;
|
||||
u32 i;
|
||||
u32 j;
|
||||
|
||||
ACPI_FUNCTION_TRACE(ev_delete_gpe_handlers);
|
||||
|
||||
@@ -203,7 +203,8 @@ acpi_ev_delete_gpe_handlers(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
|
||||
for (j = 0; j < ACPI_GPE_REGISTER_WIDTH; j++) {
|
||||
gpe_event_info =
|
||||
&gpe_block->
|
||||
event_info[(i * ACPI_GPE_REGISTER_WIDTH) + j];
|
||||
event_info[((acpi_size) i *
|
||||
ACPI_GPE_REGISTER_WIDTH) + j];
|
||||
|
||||
if ((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) ==
|
||||
ACPI_GPE_DISPATCH_HANDLER) {
|
||||
@@ -744,8 +745,8 @@ acpi_ev_create_gpe_info_blocks(struct acpi_gpe_block_info *gpe_block)
|
||||
struct acpi_gpe_event_info *gpe_event_info = NULL;
|
||||
struct acpi_gpe_event_info *this_event;
|
||||
struct acpi_gpe_register_info *this_register;
|
||||
acpi_native_uint i;
|
||||
acpi_native_uint j;
|
||||
u32 i;
|
||||
u32 j;
|
||||
acpi_status status;
|
||||
|
||||
ACPI_FUNCTION_TRACE(ev_create_gpe_info_blocks);
|
||||
@@ -983,8 +984,8 @@ acpi_ev_initialize_gpe_block(struct acpi_namespace_node *gpe_device,
|
||||
struct acpi_gpe_walk_info gpe_info;
|
||||
u32 wake_gpe_count;
|
||||
u32 gpe_enabled_count;
|
||||
acpi_native_uint i;
|
||||
acpi_native_uint j;
|
||||
u32 i;
|
||||
u32 j;
|
||||
|
||||
ACPI_FUNCTION_TRACE(ev_initialize_gpe_block);
|
||||
|
||||
@@ -1033,7 +1034,8 @@ acpi_ev_initialize_gpe_block(struct acpi_namespace_node *gpe_device,
|
||||
|
||||
gpe_event_info =
|
||||
&gpe_block->
|
||||
event_info[(i * ACPI_GPE_REGISTER_WIDTH) + j];
|
||||
event_info[((acpi_size) i *
|
||||
ACPI_GPE_REGISTER_WIDTH) + j];
|
||||
|
||||
if (((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) ==
|
||||
ACPI_GPE_DISPATCH_METHOD)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user