Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
d5b3fe12
Commit
d5b3fe12
authored
Aug 26, 2004
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge intel.com:/home/lenb/bk/26-latest-ref
into intel.com:/home/lenb/src/26-latest-dev
parents
4ab33f9d
c706c6cf
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
173 additions
and
199 deletions
+173
-199
drivers/acpi/bus.c
drivers/acpi/bus.c
+4
-0
drivers/acpi/dispatcher/dsmethod.c
drivers/acpi/dispatcher/dsmethod.c
+31
-21
drivers/acpi/dispatcher/dsutils.c
drivers/acpi/dispatcher/dsutils.c
+37
-16
drivers/acpi/events/evgpe.c
drivers/acpi/events/evgpe.c
+5
-1
drivers/acpi/events/evmisc.c
drivers/acpi/events/evmisc.c
+23
-9
drivers/acpi/events/evregion.c
drivers/acpi/events/evregion.c
+8
-9
drivers/acpi/events/evrgnini.c
drivers/acpi/events/evrgnini.c
+6
-6
drivers/acpi/events/evxface.c
drivers/acpi/events/evxface.c
+5
-6
drivers/acpi/executer/exfldio.c
drivers/acpi/executer/exfldio.c
+2
-35
drivers/acpi/hardware/hwgpe.c
drivers/acpi/hardware/hwgpe.c
+1
-1
drivers/acpi/hardware/hwregs.c
drivers/acpi/hardware/hwregs.c
+22
-48
drivers/acpi/hardware/hwtimer.c
drivers/acpi/hardware/hwtimer.c
+12
-16
drivers/acpi/numa.c
drivers/acpi/numa.c
+10
-6
drivers/acpi/pci_link.c
drivers/acpi/pci_link.c
+2
-2
drivers/acpi/tables.c
drivers/acpi/tables.c
+2
-2
include/acpi/acconfig.h
include/acpi/acconfig.h
+1
-1
include/acpi/acexcep.h
include/acpi/acexcep.h
+1
-1
include/acpi/acglobal.h
include/acpi/acglobal.h
+1
-1
include/acpi/acmacros.h
include/acpi/acmacros.h
+0
-18
No files found.
drivers/acpi/bus.c
View file @
d5b3fe12
...
...
@@ -598,6 +598,10 @@ acpi_early_init (void)
ACPI_FUNCTION_TRACE
(
"acpi_bus_init"
);
/* enable workarounds, unless strict ACPI spec. compliance */
if
(
!
acpi_strict
)
acpi_gbl_enable_interpreter_slack
=
TRUE
;
status
=
acpi_initialize_subsystem
();
if
(
ACPI_FAILURE
(
status
))
{
printk
(
KERN_ERR
PREFIX
"Unable to initialize the ACPI Interpreter
\n
"
);
...
...
drivers/acpi/dispatcher/dsmethod.c
View file @
d5b3fe12
...
...
@@ -58,15 +58,12 @@
*
* FUNCTION: acpi_ds_parse_method
*
* PARAMETERS: obj_handle - Node of the method
* Level - Current nesting level
* Context - Points to a method counter
* return_value - Not used
* PARAMETERS: obj_handle - Method node
*
* RETURN: Status
*
* DESCRIPTION: Call the parser and parse the AML that is
*
associated with the
method.
* DESCRIPTION: Call the parser and parse the AML that is
associated with the
* method.
*
* MUTEX: Assumes parser is locked
*
...
...
@@ -191,8 +188,6 @@ acpi_ds_parse_method (
* increments the thread count, and waits at the method semaphore
* for clearance to execute.
*
* MUTEX: Locks/unlocks parser.
*
******************************************************************************/
acpi_status
...
...
@@ -251,7 +246,8 @@ acpi_ds_begin_method_execution (
*
* FUNCTION: acpi_ds_call_control_method
*
* PARAMETERS: walk_state - Current state of the walk
* PARAMETERS: Thread - Info for this thread
* this_walk_state - Current walk state
* Op - Current Op to be walked
*
* RETURN: Status
...
...
@@ -401,12 +397,13 @@ acpi_ds_call_control_method (
*
* FUNCTION: acpi_ds_restart_control_method
*
* PARAMETERS: walk_state - State
of the method when it was preempted
*
Op - Pointer to new current op
* PARAMETERS: walk_state - State
for preempted method (caller)
*
return_desc - Return value from the called method
*
* RETURN: Status
*
* DESCRIPTION: Restart a method that was preempted
* DESCRIPTION: Restart a method that was preempted by another (nested) method
* invocation. Handle the return value (if any) from the callee.
*
******************************************************************************/
...
...
@@ -421,17 +418,35 @@ acpi_ds_restart_control_method (
ACPI_FUNCTION_TRACE_PTR
(
"ds_restart_control_method"
,
walk_state
);
ACPI_DEBUG_PRINT
((
ACPI_DB_DISPATCH
,
"****Restart [%4.4s] Op %p return_value_from_callee %p
\n
"
,
(
char
*
)
&
walk_state
->
method_node
->
name
,
walk_state
->
method_call_op
,
return_desc
));
ACPI_DEBUG_PRINT
((
ACPI_DB_DISPATCH
,
" return_from_this_method_used?=%X res_stack %p Walk %p
\n
"
,
walk_state
->
return_used
,
walk_state
->
results
,
walk_state
));
/* Did the called method return a value? */
if
(
return_desc
)
{
/* Are we actually going to use the return value? */
if
(
walk_state
->
return_used
)
{
/*
* Get the return value (if any) from the previous method.
* NULL if no return value
*/
/* Save the return value from the previous method */
status
=
acpi_ds_result_push
(
return_desc
,
walk_state
);
if
(
ACPI_FAILURE
(
status
))
{
acpi_ut_remove_reference
(
return_desc
);
return_ACPI_STATUS
(
status
);
}
/*
* Save as THIS method's return value in case it is returned
* immediately to yet another method
*/
walk_state
->
return_desc
=
return_desc
;
}
else
{
/*
...
...
@@ -442,11 +457,6 @@ acpi_ds_restart_control_method (
}
}
ACPI_DEBUG_PRINT
((
ACPI_DB_DISPATCH
,
"Method=%p Return=%p return_used?=%X res_stack=%p State=%p
\n
"
,
walk_state
->
method_call_op
,
return_desc
,
walk_state
->
return_used
,
walk_state
->
results
,
walk_state
));
return_ACPI_STATUS
(
AE_OK
);
}
...
...
drivers/acpi/dispatcher/dsutils.c
View file @
d5b3fe12
...
...
@@ -60,11 +60,10 @@
*
* FUNCTION: acpi_ds_is_result_used
*
* PARAMETERS: Op
* result_obj
* walk_state
* PARAMETERS: Op - Current Op
* walk_state - Current State
*
* RETURN:
Status
* RETURN:
TRUE if result is used, FALSE otherwise
*
* DESCRIPTION: Check if a result object will be used by the parent
*
...
...
@@ -89,18 +88,39 @@ acpi_ds_is_result_used (
}
/*
* If there is no parent, the result can't possibly be used!
* (An executing method typically has no parent, since each
* method is parsed separately) However, a method that is
* invoked from another method has a parent.
* If there is no parent, we are executing at the method level.
* An executing method typically has no parent, since each method
* is parsed separately.
*/
if
(
!
op
->
common
.
parent
)
{
/*
* If this is the last statement in the method, we know it is not a
* Return() operator (would not come here.) The following code is the
* optional support for a so-called "implicit return". Some AML code
* assumes that the last value of the method is "implicitly" returned
* to the caller. Just save the last result as the return value.
* NOTE: this is optional because the ASL language does not actually
* support this behavior.
*/
if
((
acpi_gbl_enable_interpreter_slack
)
&&
(
walk_state
->
parser_state
.
aml
>=
walk_state
->
parser_state
.
aml_end
))
{
ACPI_DEBUG_PRINT
((
ACPI_DB_DISPATCH
,
"Result of [%s] will be implicitly returned
\n
"
,
acpi_ps_get_opcode_name
(
op
->
common
.
aml_opcode
)));
/* Use the top of the result stack as the implicit return value */
walk_state
->
return_desc
=
walk_state
->
results
->
results
.
obj_desc
[
0
];
return_VALUE
(
TRUE
);
}
/* No parent, the return value cannot possibly be used */
return_VALUE
(
FALSE
);
}
/*
* Get info on the parent. The root Op is AML_SCOPE
*/
/* Get info on the parent. The root_op is AML_SCOPE */
parent_info
=
acpi_ps_get_opcode_info
(
op
->
common
.
parent
->
common
.
aml_opcode
);
if
(
parent_info
->
class
==
AML_CLASS_UNKNOWN
)
{
ACPI_DEBUG_PRINT
((
ACPI_DB_ERROR
,
"Unknown parent opcode. Op=%p
\n
"
,
op
));
...
...
@@ -204,9 +224,9 @@ acpi_ds_is_result_used (
*
* FUNCTION: acpi_ds_delete_result_if_not_used
*
* PARAMETERS: Op
* result_obj
* walk_state
* PARAMETERS: Op
- Current parse Op
* result_obj
- Result of the operation
* walk_state
- Current state
*
* RETURN: Status
*
...
...
@@ -338,8 +358,9 @@ acpi_ds_clear_operands (
*
* FUNCTION: acpi_ds_create_operand
*
* PARAMETERS: walk_state
* Arg
* PARAMETERS: walk_state - Current walk state
* Arg - Parse object for the argument
* arg_index - Which argument (zero based)
*
* RETURN: Status
*
...
...
drivers/acpi/events/evgpe.c
View file @
d5b3fe12
...
...
@@ -102,6 +102,8 @@ acpi_ev_set_gpe_type (
* FUNCTION: acpi_ev_update_gpe_enable_masks
*
* PARAMETERS: gpe_event_info - GPE to update
* Type - What to do: ACPI_GPE_DISABLE or
* ACPI_GPE_ENABLE
*
* RETURN: Status
*
...
...
@@ -166,6 +168,8 @@ acpi_ev_update_gpe_enable_masks (
* FUNCTION: acpi_ev_enable_gpe
*
* PARAMETERS: gpe_event_info - GPE to enable
* write_to_hardware - Enable now, or just mark data structs
* (WAKE GPEs should be deferred)
*
* RETURN: Status
*
...
...
@@ -707,7 +711,7 @@ acpi_ev_gpe_dispatch (
#ifdef ACPI_GPE_NOTIFY_CHECK
/*******************************************************************************
* NOT USED, PROTOTYPE ONLY AND WILL PROBABLY BE REMOVED
*
TBD:
NOT USED, PROTOTYPE ONLY AND WILL PROBABLY BE REMOVED
*
* FUNCTION: acpi_ev_check_for_wake_only_gpe
*
...
...
drivers/acpi/events/evmisc.c
View file @
d5b3fe12
...
...
@@ -88,9 +88,10 @@ acpi_ev_is_notify_object (
*
* FUNCTION: acpi_ev_queue_notify_request
*
* PARAMETERS:
* PARAMETERS: Node - NS node for the notified object
* notify_value - Value from the Notify() request
*
* RETURN:
None.
* RETURN:
Status
*
* DESCRIPTION: Dispatch a device notification event to a previously
* installed handler.
...
...
@@ -143,9 +144,8 @@ acpi_ev_queue_notify_request (
notify_value
));
}
/*
* Get the notify object attached to the NS 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 */
...
...
@@ -193,8 +193,10 @@ acpi_ev_queue_notify_request (
}
if
(
!
handler_obj
)
{
/* There is no per-device notify handler for this device */
/*
* There is no per-device notify handler for this device.
* This may or may not be a problem.
*/
ACPI_DEBUG_PRINT
((
ACPI_DB_INFO
,
"No notify handler for Notify(%4.4s, %X) node %p
\n
"
,
acpi_ut_get_node_name
(
node
),
notify_value
,
node
));
...
...
@@ -208,7 +210,7 @@ acpi_ev_queue_notify_request (
*
* FUNCTION: acpi_ev_notify_dispatch
*
* PARAMETERS:
* PARAMETERS:
Context - To be passsed to the notify handler
*
* RETURN: None.
*
...
...
@@ -275,6 +277,8 @@ acpi_ev_notify_dispatch (
*
* FUNCTION: acpi_ev_global_lock_thread
*
* PARAMETERS: Context - From thread interface, not used
*
* RETURN: None
*
* DESCRIPTION: Invoked by SCI interrupt handler upon acquisition of the
...
...
@@ -308,7 +312,9 @@ acpi_ev_global_lock_thread (
*
* FUNCTION: acpi_ev_global_lock_handler
*
* RETURN: Status
* PARAMETERS: Context - From thread interface, not used
*
* RETURN: ACPI_INTERRUPT_HANDLED or ACPI_INTERRUPT_NOT_HANDLED
*
* DESCRIPTION: Invoked directly from the SCI handler when a global lock
* release interrupt occurs. Grab the global lock and queue
...
...
@@ -355,6 +361,8 @@ acpi_ev_global_lock_handler (
*
* FUNCTION: acpi_ev_init_global_lock_handler
*
* PARAMETERS: None
*
* RETURN: Status
*
* DESCRIPTION: Install a handler for the global lock release event
...
...
@@ -394,6 +402,8 @@ acpi_ev_init_global_lock_handler (void)
*
* FUNCTION: acpi_ev_acquire_global_lock
*
* PARAMETERS: Timeout - Max time to wait for the lock, in millisec.
*
* RETURN: Status
*
* DESCRIPTION: Attempt to gain ownership of the Global Lock.
...
...
@@ -461,6 +471,10 @@ acpi_ev_acquire_global_lock (
*
* FUNCTION: acpi_ev_release_global_lock
*
* PARAMETERS: None
*
* RETURN: Status
*
* DESCRIPTION: Releases ownership of the Global Lock.
*
******************************************************************************/
...
...
drivers/acpi/events/evregion.c
View file @
d5b3fe12
...
...
@@ -180,7 +180,7 @@ acpi_ev_initialize_op_regions (
* FUNCTION: acpi_ev_execute_reg_method
*
* PARAMETERS: region_obj - Object structure
* Function - On (1) or Off (0)
* Function -
Passed to _REG:
On (1) or Off (0)
*
* RETURN: Status
*
...
...
@@ -232,7 +232,7 @@ acpi_ev_execute_reg_method (
goto
cleanup
;
}
/* Set
up the parameter objects */
/* Setup the parameter objects */
params
[
0
]
->
integer
.
value
=
region_obj
->
region
.
space_id
;
params
[
1
]
->
integer
.
value
=
function
;
...
...
@@ -262,7 +262,6 @@ acpi_ev_execute_reg_method (
* FUNCTION: acpi_ev_address_space_dispatch
*
* PARAMETERS: region_obj - Internal region object
* space_id - ID of the address space (0-255)
* Function - Read or Write operation
* Address - Where in the space to read or write
* bit_width - Field width in bits (8, 16, 32, or 64)
...
...
@@ -425,8 +424,8 @@ acpi_ev_address_space_dispatch (
*
* FUNCTION: acpi_ev_detach_region
*
* PARAMETERS: region_obj - Region Object
* acpi_ns_is_locked - Namespace Region Already Locked?
* PARAMETERS: region_obj
- Region Object
* acpi_ns_is_locked
- Namespace Region Already Locked?
*
* RETURN: None
*
...
...
@@ -560,9 +559,9 @@ acpi_ev_detach_region(
*
* FUNCTION: acpi_ev_attach_region
*
* PARAMETERS: handler_obj - Handler Object
* region_obj - Region Object
* acpi_ns_is_locked - Namespace Region Already Locked?
* PARAMETERS: handler_obj
- Handler Object
* region_obj
- Region Object
* acpi_ns_is_locked
- Namespace Region Already Locked?
*
* RETURN: None
*
...
...
@@ -971,7 +970,7 @@ acpi_ev_install_space_handler (
*
* RETURN: Status
*
* DESCRIPTION: Run
_REG methods for the
Space ID;
* DESCRIPTION: Run
all _REG methods for the input
Space ID;
* Note: assumes namespace is locked, or system init time.
*
******************************************************************************/
...
...
drivers/acpi/events/evrgnini.c
View file @
d5b3fe12
...
...
@@ -54,7 +54,7 @@
*
* FUNCTION: acpi_ev_system_memory_region_setup
*
* PARAMETERS:
region_obj
- Region we are interested in
* PARAMETERS:
Handle
- Region we are interested in
* Function - Start or stop
* handler_context - Address space handler context
* region_context - Region specific context
...
...
@@ -108,7 +108,7 @@ acpi_ev_system_memory_region_setup (
*
* FUNCTION: acpi_ev_io_space_region_setup
*
* PARAMETERS:
region_obj
- Region we are interested in
* PARAMETERS:
Handle
- Region we are interested in
* Function - Start or stop
* handler_context - Address space handler context
* region_context - Region specific context
...
...
@@ -144,7 +144,7 @@ acpi_ev_io_space_region_setup (
*
* FUNCTION: acpi_ev_pci_config_region_setup
*
* PARAMETERS:
region_obj
- Region we are interested in
* PARAMETERS:
Handle
- Region we are interested in
* Function - Start or stop
* handler_context - Address space handler context
* region_context - Region specific context
...
...
@@ -317,7 +317,7 @@ acpi_ev_pci_config_region_setup (
*
* FUNCTION: acpi_ev_pci_bar_region_setup
*
* PARAMETERS:
region_obj
- Region we are interested in
* PARAMETERS:
Handle
- Region we are interested in
* Function - Start or stop
* handler_context - Address space handler context
* region_context - Region specific context
...
...
@@ -348,7 +348,7 @@ acpi_ev_pci_bar_region_setup (
*
* FUNCTION: acpi_ev_cmos_region_setup
*
* PARAMETERS:
region_obj
- Region we are interested in
* PARAMETERS:
Handle
- Region we are interested in
* Function - Start or stop
* handler_context - Address space handler context
* region_context - Region specific context
...
...
@@ -379,7 +379,7 @@ acpi_ev_cmos_region_setup (
*
* FUNCTION: acpi_ev_default_region_setup
*
* PARAMETERS:
region_obj
- Region we are interested in
* PARAMETERS:
Handle
- Region we are interested in
* Function - Start or stop
* handler_context - Address space handler context
* region_context - Region specific context
...
...
drivers/acpi/events/evxface.c
View file @
d5b3fe12
...
...
@@ -359,6 +359,7 @@ acpi_install_notify_handler (
* ACPI_DEVICE_NOTIFY: driver_handler (80-ff)
* ACPI_ALL_NOTIFY: both system and device
* Handler - Address of the handler
*
* RETURN: Status
*
* DESCRIPTION: Remove a handler for notifies on an ACPI device
...
...
@@ -401,9 +402,8 @@ acpi_remove_notify_handler (
goto
unlock_and_exit
;
}
/*
* Root Object
*/
/* Root Object */
if
(
device
==
ACPI_ROOT_OBJECT
)
{
ACPI_DEBUG_PRINT
((
ACPI_DB_INFO
,
"Removing notify handler for ROOT object.
\n
"
));
...
...
@@ -437,9 +437,8 @@ acpi_remove_notify_handler (
}
}
/*
* All Other Objects
*/
/* All Other Objects */
else
{
/* Notifies allowed on this object? */
...
...
drivers/acpi/executer/exfldio.c
View file @
d5b3fe12
...
...
@@ -130,7 +130,7 @@ acpi_ex_setup_region (
if
(
rgn_desc
->
region
.
length
<
(
obj_desc
->
common_field
.
base_byte_offset
+
field_datum_byte_offset
+
obj_desc
->
common_field
.
access_byte_width
))
{
if
(
acpi_gbl_enable_interpeter_slack
)
{
if
(
acpi_gbl_enable_interp
r
eter_slack
)
{
/*
* Slack mode only: We will go ahead and allow access to this
* field if it is within the region length rounded up to the next
...
...
@@ -169,40 +169,7 @@ acpi_ex_setup_region (
field_datum_byte_offset
,
obj_desc
->
common_field
.
access_byte_width
,
acpi_ut_get_node_name
(
rgn_desc
->
region
.
node
),
rgn_desc
->
region
.
length
));
if
(
!
acpi_strict
)
{
/*
* Allow access to the field if it is within the region size
* rounded up to a multiple of the access byte width. This
* overcomes "off-by-one" programming errors in the AML often
* found in Toshiba laptops. These errors were allowed by
* the Microsoft ASL compiler.
*/
u32
rounded_length
=
ACPI_ROUND_UP
(
rgn_desc
->
region
.
length
,
obj_desc
->
common_field
.
access_byte_width
);
if
(
rounded_length
<
(
obj_desc
->
common_field
.
base_byte_offset
+
field_datum_byte_offset
+
obj_desc
->
common_field
.
access_byte_width
))
{
return_ACPI_STATUS
(
AE_AML_REGION_LIMIT
);
}
else
{
static
int
warn_once
=
1
;
if
(
warn_once
)
{
// Could also associate a flag with each field, and
// warn once for each field.
ACPI_REPORT_WARNING
((
"The ACPI AML in your computer contains errors, "
"please nag the manufacturer to correct it.
\n
"
));
ACPI_REPORT_WARNING
((
"Allowing relaxed access to fields; "
"turn on CONFIG_ACPI_DEBUG for details.
\n
"
));
warn_once
=
0
;
}
return_ACPI_STATUS
(
AE_OK
);
}
}
else
{
return_ACPI_STATUS
(
AE_AML_REGION_LIMIT
);
}
return_ACPI_STATUS
(
AE_AML_REGION_LIMIT
);
}
return_ACPI_STATUS
(
AE_OK
);
...
...
drivers/acpi/hardware/hwgpe.c
View file @
d5b3fe12
...
...
@@ -96,7 +96,7 @@ acpi_hw_write_gpe_enable_reg (
*
* PARAMETERS: gpe_event_info - Info block for the GPE to be cleared
*
* RETURN:
status_s
tatus
* RETURN:
S
tatus
*
* DESCRIPTION: Clear the status bit for a single GPE.
*
...
...
drivers/acpi/hardware/hwregs.c
View file @
d5b3fe12
...
...
@@ -249,8 +249,8 @@ acpi_hw_get_bit_register_info (
* return_value - Value that was read from the register
* Flags - Lock the hardware or not
*
* RETURN:
Value is read from specified Register. Value returned is
* normalized to bit0 (is shifted all the way right)
* RETURN:
Status and the value read from specified Register. Value
*
returned is
normalized to bit0 (is shifted all the way right)
*
* DESCRIPTION: ACPI bit_register read function.
*
...
...
@@ -284,6 +284,8 @@ acpi_get_register (
}
}
/* Read from the register */
status
=
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
bit_reg_info
->
parent_register
,
&
register_value
);
...
...
@@ -313,10 +315,10 @@ acpi_get_register (
*
* PARAMETERS: register_id - ID of ACPI bit_register to access
* Value - (only used on write) value to write to the
* Register, NOT pre-normalized to the bit pos
.
* Register, NOT pre-normalized to the bit pos
* Flags - Lock the hardware or not
*
* RETURN:
None
* RETURN:
Status
*
* DESCRIPTION: ACPI Bit Register write function.
*
...
...
@@ -461,10 +463,11 @@ acpi_set_register (
*
* FUNCTION: acpi_hw_register_read
*
* PARAMETERS: use_lock - Mutex hw access.
* register_id - register_iD + Offset.
* PARAMETERS: use_lock - Mutex hw access
* register_id - register_iD + Offset
* return_value - Value that was read from the register
*
* RETURN:
Value read or written
.
* RETURN:
Status and the value read
.
*
* DESCRIPTION: Acpi register read function. Registers are read at the
* given offset.
...
...
@@ -572,10 +575,11 @@ acpi_hw_register_read (
*
* FUNCTION: acpi_hw_register_write
*
* PARAMETERS: use_lock - Mutex hw access.
* register_id - register_iD + Offset.
* PARAMETERS: use_lock - Mutex hw access
* register_id - register_iD + Offset
* Value - The value to write
*
* RETURN:
Value read or written.
* RETURN:
Status
*
* DESCRIPTION: Acpi register Write function. Registers are written at the
* given offset.
...
...
@@ -691,11 +695,11 @@ acpi_hw_register_write (
*
* PARAMETERS: Width - 8, 16, or 32
* Value - Where the value is returned
* Reg
ister
- GAS register structure
* Reg
- GAS register structure
*
* RETURN: Status
*
* DESCRIPTION: Read from either memory
, IO, or PCI config
space.
* DESCRIPTION: Read from either memory
or IO
space.
*
******************************************************************************/
...
...
@@ -705,8 +709,6 @@ acpi_hw_low_level_read (
u32
*
value
,
struct
acpi_generic_address
*
reg
)
{
struct
acpi_pci_id
pci_id
;
u16
pci_register
;
acpi_status
status
;
...
...
@@ -725,8 +727,8 @@ acpi_hw_low_level_read (
*
value
=
0
;
/*
* T
hree address spaces supported:
*
Memory, IO, or PCI_Config.
* T
wo address spaces supported: Memory or IO.
*
PCI_Config is not supported here because the GAS struct is insufficient
*/
switch
(
reg
->
address_space_id
)
{
case
ACPI_ADR_SPACE_SYSTEM_MEMORY
:
...
...
@@ -744,19 +746,6 @@ acpi_hw_low_level_read (
break
;
case
ACPI_ADR_SPACE_PCI_CONFIG
:
pci_id
.
segment
=
0
;
pci_id
.
bus
=
0
;
pci_id
.
device
=
ACPI_PCI_DEVICE
(
reg
->
address
);
pci_id
.
function
=
ACPI_PCI_FUNCTION
(
reg
->
address
);
pci_register
=
(
u16
)
ACPI_PCI_REGISTER
(
reg
->
address
);
status
=
acpi_os_read_pci_configuration
(
&
pci_id
,
pci_register
,
value
,
width
);
break
;
default:
ACPI_DEBUG_PRINT
((
ACPI_DB_ERROR
,
"Unsupported address space: %X
\n
"
,
reg
->
address_space_id
));
...
...
@@ -778,11 +767,11 @@ acpi_hw_low_level_read (
*
* PARAMETERS: Width - 8, 16, or 32
* Value - To be written
* Reg
ister
- GAS register structure
* Reg
- GAS register structure
*
* RETURN: Status
*
* DESCRIPTION: Write to either memory
, IO, or PCI config
space.
* DESCRIPTION: Write to either memory
or IO
space.
*
******************************************************************************/
...
...
@@ -792,8 +781,6 @@ acpi_hw_low_level_write (
u32
value
,
struct
acpi_generic_address
*
reg
)
{
struct
acpi_pci_id
pci_id
;
u16
pci_register
;
acpi_status
status
;
...
...
@@ -811,8 +798,8 @@ acpi_hw_low_level_write (
}
/*
* T
hree address spaces supported:
*
Memory, IO, or PCI_Config.
* T
wo address spaces supported: Memory or IO.
*
PCI_Config is not supported here because the GAS struct is insufficient
*/
switch
(
reg
->
address_space_id
)
{
case
ACPI_ADR_SPACE_SYSTEM_MEMORY
:
...
...
@@ -830,19 +817,6 @@ acpi_hw_low_level_write (
break
;
case
ACPI_ADR_SPACE_PCI_CONFIG
:
pci_id
.
segment
=
0
;
pci_id
.
bus
=
0
;
pci_id
.
device
=
ACPI_PCI_DEVICE
(
reg
->
address
);
pci_id
.
function
=
ACPI_PCI_FUNCTION
(
reg
->
address
);
pci_register
=
(
u16
)
ACPI_PCI_REGISTER
(
reg
->
address
);
status
=
acpi_os_write_pci_configuration
(
&
pci_id
,
pci_register
,
(
acpi_integer
)
value
,
width
);
break
;
default:
ACPI_DEBUG_PRINT
((
ACPI_DB_ERROR
,
"Unsupported address space: %X
\n
"
,
reg
->
address_space_id
));
...
...
drivers/acpi/hardware/hwtimer.c
View file @
d5b3fe12
...
...
@@ -52,11 +52,11 @@
*
* FUNCTION: acpi_get_timer_resolution
*
* PARAMETERS:
none
* PARAMETERS:
Resolution - Where the resolution is returned
*
* RETURN:
Number of bits of resolution in the PM Timer (24 or 32).
* RETURN:
Status and timer resolution
*
* DESCRIPTION: Obtains resolution of the ACPI PM Timer.
* DESCRIPTION: Obtains resolution of the ACPI PM Timer
(24 or 32 bits)
.
*
******************************************************************************/
...
...
@@ -86,11 +86,11 @@ acpi_get_timer_resolution (
*
* FUNCTION: acpi_get_timer
*
* PARAMETERS:
none
* PARAMETERS:
Ticks - Where the timer value is returned
*
* RETURN:
Current value of the ACPI PM Timer (in ticks).
* RETURN:
Status and current ticks
*
* DESCRIPTION: Obtains current value of ACPI PM Timer.
* DESCRIPTION: Obtains current value of ACPI PM Timer
(in ticks)
.
*
******************************************************************************/
...
...
@@ -118,11 +118,11 @@ acpi_get_timer (
*
* FUNCTION: acpi_get_timer_duration
*
* PARAMETERS: start_ticks
* end_ticks
* time_elapsed
* PARAMETERS: start_ticks
- Starting timestamp
* end_ticks
- End timestamp
* time_elapsed
- Where the elapsed time is returned
*
* RETURN: time_elapsed
* RETURN:
Status and
time_elapsed
*
* DESCRIPTION: Computes the time elapsed (in microseconds) between two
* PM Timer time stamps, taking into account the possibility of
...
...
@@ -136,7 +136,7 @@ acpi_get_timer (
* Note that this function accommodates only a single timer
* rollover. Thus for 24-bit timers, this function should only
* be used for calculating durations less than ~4.6 seconds
* (~20 minutes for 32-bit timers) -- calculations below
* (~20 minutes for 32-bit timers) -- calculations below
:
*
* 2**24 Ticks / 3,600,000 Ticks/Sec = 4.66 sec
* 2**32 Ticks / 3,600,000 Ticks/Sec = 1193 sec or 19.88 minutes
...
...
@@ -164,7 +164,6 @@ acpi_get_timer_duration (
/*
* Compute Tick Delta:
* -------------------
* Handle (max one) timer rollovers on 24- versus 32-bit timers.
*/
if
(
start_ticks
<
end_ticks
)
{
...
...
@@ -188,10 +187,7 @@ acpi_get_timer_duration (
}
/*
* Compute Duration:
* -----------------
*
* Requires a 64-bit divide:
* Compute Duration (Requires a 64-bit divide):
*
* time_elapsed = (delta_ticks * 1000000) / PM_TIMER_FREQUENCY;
*/
...
...
drivers/acpi/numa.c
View file @
d5b3fe12
...
...
@@ -51,6 +51,7 @@ acpi_table_print_srat_entry (
switch
(
header
->
type
)
{
case
ACPI_SRAT_PROCESSOR_AFFINITY
:
#ifdef ACPI_DEBUG_OUTPUT
{
struct
acpi_table_processor_affinity
*
p
=
(
struct
acpi_table_processor_affinity
*
)
header
;
...
...
@@ -58,9 +59,11 @@ acpi_table_print_srat_entry (
p
->
apic_id
,
p
->
lsapic_eid
,
p
->
proximity_domain
,
p
->
flags
.
enabled
?
"enabled"
:
"disabled"
));
}
#endif
/* ACPI_DEBUG_OUTPUT */
break
;
case
ACPI_SRAT_MEMORY_AFFINITY
:
#ifdef ACPI_DEBUG_OUTPUT
{
struct
acpi_table_memory_affinity
*
p
=
(
struct
acpi_table_memory_affinity
*
)
header
;
...
...
@@ -70,6 +73,7 @@ acpi_table_print_srat_entry (
p
->
flags
.
enabled
?
"enabled"
:
"disabled"
,
p
->
flags
.
hot_pluggable
?
" hot-pluggable"
:
""
));
}
#endif
/* ACPI_DEBUG_OUTPUT */
break
;
default:
...
...
@@ -94,8 +98,6 @@ acpi_parse_slit (unsigned long phys_addr, unsigned long size)
/* downcast just for %llu vs %lu for i386/ia64 */
localities
=
(
u32
)
slit
->
localities
;
printk
(
KERN_INFO
PREFIX
"SLIT localities %ux%u
\n
"
,
localities
,
localities
);
acpi_numa_slit_init
(
slit
);
return
0
;
...
...
@@ -103,7 +105,9 @@ acpi_parse_slit (unsigned long phys_addr, unsigned long size)
static
int
__init
acpi_parse_processor_affinity
(
acpi_table_entry_header
*
header
)
acpi_parse_processor_affinity
(
acpi_table_entry_header
*
header
,
const
unsigned
long
end
)
{
struct
acpi_table_processor_affinity
*
processor_affinity
;
...
...
@@ -121,7 +125,9 @@ acpi_parse_processor_affinity (acpi_table_entry_header *header)
static
int
__init
acpi_parse_memory_affinity
(
acpi_table_entry_header
*
header
)
acpi_parse_memory_affinity
(
acpi_table_entry_header
*
header
,
const
unsigned
long
end
)
{
struct
acpi_table_memory_affinity
*
memory_affinity
;
...
...
@@ -148,8 +154,6 @@ acpi_parse_srat (unsigned long phys_addr, unsigned long size)
srat
=
(
struct
acpi_table_srat
*
)
__va
(
phys_addr
);
printk
(
KERN_INFO
PREFIX
"SRAT revision %d
\n
"
,
srat
->
table_revision
);
return
0
;
}
...
...
drivers/acpi/pci_link.c
View file @
d5b3fe12
...
...
@@ -448,7 +448,7 @@ acpi_pci_link_set (
#define PIRQ_PENALTY_ISA_USED (16*16*16*16*16)
#define PIRQ_PENALTY_ISA_ALWAYS (16*16*16*16*16*16)
static
int
__initdata
acpi_irq_penalty
[
ACPI_MAX_IRQS
]
=
{
static
int
acpi_irq_penalty
[
ACPI_MAX_IRQS
]
=
{
PIRQ_PENALTY_ISA_ALWAYS
,
/* IRQ0 timer */
PIRQ_PENALTY_ISA_ALWAYS
,
/* IRQ1 keyboard */
PIRQ_PENALTY_ISA_ALWAYS
,
/* IRQ2 cascade */
...
...
@@ -468,7 +468,7 @@ static int __initdata acpi_irq_penalty[ACPI_MAX_IRQS] = {
/* >IRQ15 */
};
int
int
__init
acpi_irq_penalty_init
(
void
)
{
struct
list_head
*
node
=
NULL
;
...
...
drivers/acpi/tables.c
View file @
d5b3fe12
...
...
@@ -101,7 +101,7 @@ acpi_table_print (
else
name
=
header
->
signature
;
printk
(
KERN_
INFO
PREFIX
"%.4s (v%3.3d %6.6s %8.8s 0x%08x %.4s 0x%08x) @ 0x%p
\n
"
,
printk
(
KERN_
DEBUG
PREFIX
"%.4s (v%3.3d %6.6s %8.8s 0x%08x %.4s 0x%08x) @ 0x%p
\n
"
,
name
,
header
->
revision
,
header
->
oem_id
,
header
->
oem_table_id
,
header
->
oem_revision
,
header
->
asl_compiler_id
,
header
->
asl_compiler_revision
,
...
...
@@ -587,7 +587,7 @@ acpi_table_init (void)
return
-
ENODEV
;
}
printk
(
KERN_
INFO
PREFIX
"RSDP (v%3.3d %6.6s
) @ 0x%p
\n
"
,
printk
(
KERN_
DEBUG
PREFIX
"RSDP (v%3.3d %6.6s
) @ 0x%p
\n
"
,
rsdp
->
revision
,
rsdp
->
oem_id
,
(
void
*
)
rsdp_phys
);
if
(
rsdp
->
revision
<
2
)
...
...
include/acpi/acconfig.h
View file @
d5b3fe12
...
...
@@ -64,7 +64,7 @@
/* Version string */
#define ACPI_CA_VERSION 0x20040
715
#define ACPI_CA_VERSION 0x20040
816
/*
* OS name, used for the _OS object. The _OS object is essentially obsolete,
...
...
include/acpi/acexcep.h
View file @
d5b3fe12
...
...
@@ -166,7 +166,7 @@
#define AE_AML_CIRCULAR_REFERENCE (acpi_status) (0x0020 | AE_CODE_AML)
#define AE_AML_BAD_RESOURCE_LENGTH (acpi_status) (0x0021 | AE_CODE_AML)
#define AE_CODE_AML_MAX 0x002
0
#define AE_CODE_AML_MAX 0x002
1
/*
* Internal exceptions used for control
...
...
include/acpi/acglobal.h
View file @
d5b3fe12
...
...
@@ -94,7 +94,7 @@ extern u32 acpi_gbl_nesting_level;
* interpreter strictly follows the ACPI specification. Setting to TRUE
* allows the interpreter to forgive certain bad AML constructs.
*/
ACPI_EXTERN
u8
ACPI_INIT_GLOBAL
(
acpi_gbl_enable_interpeter_slack
,
FALSE
);
ACPI_EXTERN
u8
ACPI_INIT_GLOBAL
(
acpi_gbl_enable_interp
r
eter_slack
,
FALSE
);
/*
* Automatically serialize ALL control methods? Default is FALSE, meaning
...
...
include/acpi/acmacros.h
View file @
d5b3fe12
...
...
@@ -364,24 +364,6 @@
#define ACPI_IS_OCTAL_DIGIT(d) (((char)(d) >= '0') && ((char)(d) <= '7'))
/* Macros for GAS addressing */
#if ACPI_MACHINE_WIDTH != 16
#define ACPI_PCI_DEVICE(a) (u16) ((ACPI_HIDWORD ((a))) & 0x0000FFFF)
#define ACPI_PCI_FUNCTION(a) (u16) ((ACPI_LODWORD ((a))) >> 16)
#define ACPI_PCI_REGISTER(a) (u16) ((ACPI_LODWORD ((a))) & 0x0000FFFF)
#else
/* No support for GAS and PCI IDs in 16-bit mode */
#define ACPI_PCI_FUNCTION(a) (u16) ((a) & 0xFFFF0000)
#define ACPI_PCI_DEVICE(a) (u16) ((a) & 0x0000FFFF)
#define ACPI_PCI_REGISTER(a) (u16) ((a) & 0x0000FFFF)
#endif
/* Bitfields within ACPI registers */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment