Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
b815d7b3
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b815d7b3
编写于
10月 22, 2008
作者:
L
Len Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fadt-test' into test
上级
3156d1ed
fcea94ba
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
7 deletion
+25
-7
drivers/acpi/tables/tbfadt.c
drivers/acpi/tables/tbfadt.c
+25
-7
未找到文件。
drivers/acpi/tables/tbfadt.c
浏览文件 @
b815d7b3
...
...
@@ -50,7 +50,7 @@ ACPI_MODULE_NAME("tbfadt")
/* Local prototypes */
static
void
inline
acpi_tb_init_generic_address
(
struct
acpi_generic_address
*
generic_address
,
u8
b
it
_width
,
u64
address
);
u8
b
yte
_width
,
u64
address
);
static
void
acpi_tb_convert_fadt
(
void
);
...
...
@@ -111,7 +111,7 @@ static struct acpi_fadt_info fadt_info_table[] = {
* FUNCTION: acpi_tb_init_generic_address
*
* PARAMETERS: generic_address - GAS struct to be initialized
* b
it_width
- Width of this register
* b
yte_width
- Width of this register
* Address - Address of the register
*
* RETURN: None
...
...
@@ -124,7 +124,7 @@ static struct acpi_fadt_info fadt_info_table[] = {
static
void
inline
acpi_tb_init_generic_address
(
struct
acpi_generic_address
*
generic_address
,
u8
b
it
_width
,
u64
address
)
u8
b
yte
_width
,
u64
address
)
{
/*
...
...
@@ -136,7 +136,7 @@ acpi_tb_init_generic_address(struct acpi_generic_address *generic_address,
/* All other fields are byte-wide */
generic_address
->
space_id
=
ACPI_ADR_SPACE_SYSTEM_IO
;
generic_address
->
bit_width
=
b
it_width
;
generic_address
->
bit_width
=
b
yte_width
<<
3
;
generic_address
->
bit_offset
=
0
;
generic_address
->
access_width
=
0
;
}
...
...
@@ -342,9 +342,20 @@ static void acpi_tb_convert_fadt(void)
* useful to calculate them once, here.
*
* The PM event blocks are split into two register blocks, first is the
* PM Status Register block, followed immediately by the PM Enable Register
* block. Each is of length (pm1_event_length/2)
* PM Status Register block, followed immediately by the PM Enable
* Register block. Each is of length (xpm1x_event_block.bit_width/2).
*
* On various systems the v2 fields (and particularly the bit widths)
* cannot be relied upon, though. Hence resort to using the v1 length
* here (and warn about the inconsistency).
*/
if
(
acpi_gbl_FADT
.
xpm1a_event_block
.
bit_width
!=
acpi_gbl_FADT
.
pm1_event_length
*
8
)
printk
(
KERN_WARNING
"FADT: "
"X_PM1a_EVT_BLK.bit_width (%u) does not match"
" PM1_EVT_LEN (%u)
\n
"
,
acpi_gbl_FADT
.
xpm1a_event_block
.
bit_width
,
acpi_gbl_FADT
.
pm1_event_length
);
pm1_register_length
=
(
u8
)
ACPI_DIV_2
(
acpi_gbl_FADT
.
pm1_event_length
);
/* The PM1A register block is required */
...
...
@@ -360,13 +371,20 @@ static void acpi_tb_convert_fadt(void)
/* The PM1B register block is optional, ignore if not present */
if
(
acpi_gbl_FADT
.
xpm1b_event_block
.
address
)
{
if
(
acpi_gbl_FADT
.
xpm1b_event_block
.
bit_width
!=
acpi_gbl_FADT
.
pm1_event_length
*
8
)
printk
(
KERN_WARNING
"FADT: "
"X_PM1b_EVT_BLK.bit_width (%u) does not match"
" PM1_EVT_LEN (%u)
\n
"
,
acpi_gbl_FADT
.
xpm1b_event_block
.
bit_width
,
acpi_gbl_FADT
.
pm1_event_length
);
acpi_tb_init_generic_address
(
&
acpi_gbl_xpm1b_enable
,
pm1_register_length
,
(
acpi_gbl_FADT
.
xpm1b_event_block
.
address
+
pm1_register_length
));
/* Don't forget to copy space_id of the GAS */
acpi_gbl_xpm1b_enable
.
space_id
=
acpi_gbl_FADT
.
xpm1
a
_event_block
.
space_id
;
acpi_gbl_FADT
.
xpm1
b
_event_block
.
space_id
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录