Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
00a2b433
K
Kernel
项目概览
openeuler
/
Kernel
接近 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
00a2b433
编写于
10月 10, 2007
作者:
L
Len Brown
浏览文件
操作
浏览文件
下载
差异文件
Pull acpica into test branch
上级
de85871a
2d571b33
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
52 addition
and
79 deletion
+52
-79
drivers/acpi/events/evevent.c
drivers/acpi/events/evevent.c
+2
-4
drivers/acpi/hardware/hwregs.c
drivers/acpi/hardware/hwregs.c
+35
-54
drivers/acpi/hardware/hwsleep.c
drivers/acpi/hardware/hwsleep.c
+11
-19
include/acpi/achware.h
include/acpi/achware.h
+2
-2
include/acpi/acpixf.h
include/acpi/acpixf.h
+2
-0
未找到文件。
drivers/acpi/events/evevent.c
浏览文件 @
00a2b433
...
...
@@ -239,10 +239,8 @@ u32 acpi_ev_fixed_event_detect(void)
* Read the fixed feature status and enable registers, as all the cases
* depend on their values. Ignore errors here.
*/
(
void
)
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_STATUS
,
&
fixed_status
);
(
void
)
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_ENABLE
,
&
fixed_enable
);
(
void
)
acpi_hw_register_read
(
ACPI_REGISTER_PM1_STATUS
,
&
fixed_status
);
(
void
)
acpi_hw_register_read
(
ACPI_REGISTER_PM1_ENABLE
,
&
fixed_enable
);
ACPI_DEBUG_PRINT
((
ACPI_DB_INTERRUPTS
,
"Fixed Event Block: Enable %08X Status %08X
\n
"
,
...
...
drivers/acpi/hardware/hwregs.c
浏览文件 @
00a2b433
...
...
@@ -75,8 +75,7 @@ acpi_status acpi_hw_clear_acpi_status(void)
lock_flags
=
acpi_os_acquire_lock
(
acpi_gbl_hardware_lock
);
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_STATUS
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1_STATUS
,
ACPI_BITMASK_ALL_FIXED_STATUS
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_exit
;
...
...
@@ -259,7 +258,7 @@ struct acpi_bit_register_info *acpi_hw_get_bit_register_info(u32 register_id)
*
******************************************************************************/
acpi_status
acpi_get_register
(
u32
register_id
,
u32
*
return_value
)
acpi_status
acpi_get_register
_unlocked
(
u32
register_id
,
u32
*
return_value
)
{
u32
register_value
=
0
;
struct
acpi_bit_register_info
*
bit_reg_info
;
...
...
@@ -276,8 +275,7 @@ acpi_status acpi_get_register(u32 register_id, u32 * return_value)
/* Read from the register */
status
=
acpi_hw_register_read
(
ACPI_MTX_LOCK
,
bit_reg_info
->
parent_register
,
status
=
acpi_hw_register_read
(
bit_reg_info
->
parent_register
,
&
register_value
);
if
(
ACPI_SUCCESS
(
status
))
{
...
...
@@ -298,6 +296,16 @@ acpi_status acpi_get_register(u32 register_id, u32 * return_value)
return_ACPI_STATUS
(
status
);
}
acpi_status
acpi_get_register
(
u32
register_id
,
u32
*
return_value
)
{
acpi_status
status
;
acpi_cpu_flags
flags
;
flags
=
acpi_os_acquire_lock
(
acpi_gbl_hardware_lock
);
status
=
acpi_get_register_unlocked
(
register_id
,
return_value
);
acpi_os_release_lock
(
acpi_gbl_hardware_lock
,
flags
);
return
status
;
}
ACPI_EXPORT_SYMBOL
(
acpi_get_register
)
/*******************************************************************************
...
...
@@ -335,8 +343,7 @@ acpi_status acpi_set_register(u32 register_id, u32 value)
/* Always do a register read first so we can insert the new bits */
status
=
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
bit_reg_info
->
parent_register
,
status
=
acpi_hw_register_read
(
bit_reg_info
->
parent_register
,
&
register_value
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_exit
;
...
...
@@ -363,8 +370,7 @@ acpi_status acpi_set_register(u32 register_id, u32 value)
bit_reg_info
->
access_bit_mask
);
if
(
value
)
{
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_STATUS
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1_STATUS
,
(
u16
)
value
);
register_value
=
0
;
}
...
...
@@ -377,8 +383,7 @@ acpi_status acpi_set_register(u32 register_id, u32 value)
bit_reg_info
->
access_bit_mask
,
value
);
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_ENABLE
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1_ENABLE
,
(
u16
)
register_value
);
break
;
...
...
@@ -397,15 +402,13 @@ acpi_status acpi_set_register(u32 register_id, u32 value)
bit_reg_info
->
access_bit_mask
,
value
);
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_CONTROL
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1_CONTROL
,
(
u16
)
register_value
);
break
;
case
ACPI_REGISTER_PM2_CONTROL
:
status
=
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM2_CONTROL
,
status
=
acpi_hw_register_read
(
ACPI_REGISTER_PM2_CONTROL
,
&
register_value
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_exit
;
...
...
@@ -430,8 +433,7 @@ acpi_status acpi_set_register(u32 register_id, u32 value)
xpm2_control_block
.
address
)));
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM2_CONTROL
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM2_CONTROL
,
(
u8
)
(
register_value
));
break
;
...
...
@@ -461,8 +463,7 @@ ACPI_EXPORT_SYMBOL(acpi_set_register)
*
* FUNCTION: acpi_hw_register_read
*
* PARAMETERS: use_lock - Lock hardware? True/False
* register_id - ACPI Register ID
* PARAMETERS: register_id - ACPI Register ID
* return_value - Where the register value is returned
*
* RETURN: Status and the value read.
...
...
@@ -471,19 +472,14 @@ ACPI_EXPORT_SYMBOL(acpi_set_register)
*
******************************************************************************/
acpi_status
acpi_hw_register_read
(
u
8
use_lock
,
u
32
register_id
,
u32
*
return_value
)
acpi_hw_register_read
(
u32
register_id
,
u32
*
return_value
)
{
u32
value1
=
0
;
u32
value2
=
0
;
acpi_status
status
;
acpi_cpu_flags
lock_flags
=
0
;
ACPI_FUNCTION_TRACE
(
hw_register_read
);
if
(
ACPI_MTX_LOCK
==
use_lock
)
{
lock_flags
=
acpi_os_acquire_lock
(
acpi_gbl_hardware_lock
);
}
switch
(
register_id
)
{
case
ACPI_REGISTER_PM1_STATUS
:
/* 16-bit access */
...
...
@@ -491,7 +487,7 @@ acpi_hw_register_read(u8 use_lock, u32 register_id, u32 * return_value)
acpi_hw_low_level_read
(
16
,
&
value1
,
&
acpi_gbl_FADT
.
xpm1a_event_block
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
/* PM1B is optional */
...
...
@@ -507,7 +503,7 @@ acpi_hw_register_read(u8 use_lock, u32 register_id, u32 * return_value)
status
=
acpi_hw_low_level_read
(
16
,
&
value1
,
&
acpi_gbl_xpm1a_enable
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
/* PM1B is optional */
...
...
@@ -523,7 +519,7 @@ acpi_hw_register_read(u8 use_lock, u32 register_id, u32 * return_value)
acpi_hw_low_level_read
(
16
,
&
value1
,
&
acpi_gbl_FADT
.
xpm1a_control_block
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
status
=
...
...
@@ -558,10 +554,7 @@ acpi_hw_register_read(u8 use_lock, u32 register_id, u32 * return_value)
break
;
}
unlock_and_exit:
if
(
ACPI_MTX_LOCK
==
use_lock
)
{
acpi_os_release_lock
(
acpi_gbl_hardware_lock
,
lock_flags
);
}
exit:
if
(
ACPI_SUCCESS
(
status
))
{
*
return_value
=
value1
;
...
...
@@ -574,8 +567,7 @@ acpi_hw_register_read(u8 use_lock, u32 register_id, u32 * return_value)
*
* FUNCTION: acpi_hw_register_write
*
* PARAMETERS: use_lock - Lock hardware? True/False
* register_id - ACPI Register ID
* PARAMETERS: register_id - ACPI Register ID
* Value - The value to write
*
* RETURN: Status
...
...
@@ -597,28 +589,22 @@ acpi_hw_register_read(u8 use_lock, u32 register_id, u32 * return_value)
*
******************************************************************************/
acpi_status
acpi_hw_register_write
(
u
8
use_lock
,
u
32
register_id
,
u32
value
)
acpi_status
acpi_hw_register_write
(
u32
register_id
,
u32
value
)
{
acpi_status
status
;
acpi_cpu_flags
lock_flags
=
0
;
u32
read_value
;
ACPI_FUNCTION_TRACE
(
hw_register_write
);
if
(
ACPI_MTX_LOCK
==
use_lock
)
{
lock_flags
=
acpi_os_acquire_lock
(
acpi_gbl_hardware_lock
);
}
switch
(
register_id
)
{
case
ACPI_REGISTER_PM1_STATUS
:
/* 16-bit access */
/* Perform a read first to preserve certain bits (per ACPI spec) */
status
=
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_STATUS
,
status
=
acpi_hw_register_read
(
ACPI_REGISTER_PM1_STATUS
,
&
read_value
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
/* Insert the bits to be preserved */
...
...
@@ -632,7 +618,7 @@ acpi_status acpi_hw_register_write(u8 use_lock, u32 register_id, u32 value)
acpi_hw_low_level_write
(
16
,
value
,
&
acpi_gbl_FADT
.
xpm1a_event_block
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
/* PM1B is optional */
...
...
@@ -647,7 +633,7 @@ acpi_status acpi_hw_register_write(u8 use_lock, u32 register_id, u32 value)
status
=
acpi_hw_low_level_write
(
16
,
value
,
&
acpi_gbl_xpm1a_enable
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
/* PM1B is optional */
...
...
@@ -661,11 +647,10 @@ acpi_status acpi_hw_register_write(u8 use_lock, u32 register_id, u32 value)
/*
* Perform a read first to preserve certain bits (per ACPI spec)
*/
status
=
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_CONTROL
,
status
=
acpi_hw_register_read
(
ACPI_REGISTER_PM1_CONTROL
,
&
read_value
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
/* Insert the bits to be preserved */
...
...
@@ -679,7 +664,7 @@ acpi_status acpi_hw_register_write(u8 use_lock, u32 register_id, u32 value)
acpi_hw_low_level_write
(
16
,
value
,
&
acpi_gbl_FADT
.
xpm1a_control_block
);
if
(
ACPI_FAILURE
(
status
))
{
goto
unlock_and_
exit
;
goto
exit
;
}
status
=
...
...
@@ -728,11 +713,7 @@ acpi_status acpi_hw_register_write(u8 use_lock, u32 register_id, u32 value)
break
;
}
unlock_and_exit:
if
(
ACPI_MTX_LOCK
==
use_lock
)
{
acpi_os_release_lock
(
acpi_gbl_hardware_lock
,
lock_flags
);
}
exit:
return_ACPI_STATUS
(
status
);
}
...
...
drivers/acpi/hardware/hwsleep.c
浏览文件 @
00a2b433
...
...
@@ -309,8 +309,7 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
/* Get current value of PM1A control */
status
=
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_CONTROL
,
&
PM1Acontrol
);
status
=
acpi_hw_register_read
(
ACPI_REGISTER_PM1_CONTROL
,
&
PM1Acontrol
);
if
(
ACPI_FAILURE
(
status
))
{
return_ACPI_STATUS
(
status
);
}
...
...
@@ -337,15 +336,13 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
/* Write #1: fill in SLP_TYP data */
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1A_CONTROL
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1A_CONTROL
,
PM1Acontrol
);
if
(
ACPI_FAILURE
(
status
))
{
return_ACPI_STATUS
(
status
);
}
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1B_CONTROL
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1B_CONTROL
,
PM1Bcontrol
);
if
(
ACPI_FAILURE
(
status
))
{
return_ACPI_STATUS
(
status
);
...
...
@@ -360,15 +357,13 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
ACPI_FLUSH_CPU_CACHE
();
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1A_CONTROL
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1A_CONTROL
,
PM1Acontrol
);
if
(
ACPI_FAILURE
(
status
))
{
return_ACPI_STATUS
(
status
);
}
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1B_CONTROL
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1B_CONTROL
,
PM1Bcontrol
);
if
(
ACPI_FAILURE
(
status
))
{
return_ACPI_STATUS
(
status
);
...
...
@@ -388,8 +383,7 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
*/
acpi_os_stall
(
10000000
);
status
=
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_CONTROL
,
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1_CONTROL
,
sleep_enable_reg_info
->
access_bit_mask
);
if
(
ACPI_FAILURE
(
status
))
{
...
...
@@ -400,7 +394,8 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
/* Wait until we enter sleep state */
do
{
status
=
acpi_get_register
(
ACPI_BITREG_WAKE_STATUS
,
&
in_value
);
status
=
acpi_get_register_unlocked
(
ACPI_BITREG_WAKE_STATUS
,
&
in_value
);
if
(
ACPI_FAILURE
(
status
))
{
return_ACPI_STATUS
(
status
);
}
...
...
@@ -516,8 +511,7 @@ acpi_status acpi_leave_sleep_state(u8 sleep_state)
/* Get current value of PM1A control */
status
=
acpi_hw_register_read
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1_CONTROL
,
status
=
acpi_hw_register_read
(
ACPI_REGISTER_PM1_CONTROL
,
&
PM1Acontrol
);
if
(
ACPI_SUCCESS
(
status
))
{
...
...
@@ -539,11 +533,9 @@ acpi_status acpi_leave_sleep_state(u8 sleep_state)
/* Just ignore any errors */
(
void
)
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1A_CONTROL
,
(
void
)
acpi_hw_register_write
(
ACPI_REGISTER_PM1A_CONTROL
,
PM1Acontrol
);
(
void
)
acpi_hw_register_write
(
ACPI_MTX_DO_NOT_LOCK
,
ACPI_REGISTER_PM1B_CONTROL
,
(
void
)
acpi_hw_register_write
(
ACPI_REGISTER_PM1B_CONTROL
,
PM1Bcontrol
);
}
}
...
...
include/acpi/achware.h
浏览文件 @
00a2b433
...
...
@@ -71,9 +71,9 @@ u32 acpi_hw_get_mode(void);
struct
acpi_bit_register_info
*
acpi_hw_get_bit_register_info
(
u32
register_id
);
acpi_status
acpi_hw_register_read
(
u
8
use_lock
,
u
32
register_id
,
u32
*
return_value
);
acpi_hw_register_read
(
u32
register_id
,
u32
*
return_value
);
acpi_status
acpi_hw_register_write
(
u
8
use_lock
,
u
32
register_id
,
u32
value
);
acpi_status
acpi_hw_register_write
(
u32
register_id
,
u32
value
);
acpi_status
acpi_hw_low_level_read
(
u32
width
,
...
...
include/acpi/acpixf.h
浏览文件 @
00a2b433
...
...
@@ -314,6 +314,8 @@ acpi_resource_to_address64(struct acpi_resource *resource,
*/
acpi_status
acpi_get_register
(
u32
register_id
,
u32
*
return_value
);
acpi_status
acpi_get_register_unlocked
(
u32
register_id
,
u32
*
return_value
);
acpi_status
acpi_set_register
(
u32
register_id
,
u32
value
);
acpi_status
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录