Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
7a781afd
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看板
提交
7a781afd
编写于
3月 23, 2009
作者:
H
Hiroshi DOYU
提交者:
Tony Lindgren
3月 23, 2009
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
omap mailbox: convert sequence bit checking to module paramter
Signed-off-by:
N
Hiroshi DOYU
<
Hiroshi.DOYU@nokia.com
>
上级
9ae0ee00
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
19 deletion
+16
-19
arch/arm/plat-omap/mailbox.c
arch/arm/plat-omap/mailbox.c
+16
-19
未找到文件。
arch/arm/plat-omap/mailbox.c
浏览文件 @
7a781afd
...
...
@@ -32,30 +32,34 @@
#include <linux/io.h>
#include <mach/mailbox.h>
static
int
enable_seq_bit
;
module_param
(
enable_seq_bit
,
bool
,
0
);
MODULE_PARM_DESC
(
enable_seq_bit
,
"Enable sequence bit checking."
);
static
struct
omap_mbox
*
mboxes
;
static
DEFINE_RWLOCK
(
mboxes_lock
);
/*
* Mailbox sequence bit API
*/
#if defined(CONFIG_ARCH_OMAP1)
# define MBOX_USE_SEQ_BIT
#elif defined(CONFIG_ARCH_OMAP2)
# define MBOX_USE_SEQ_BIT
#endif
#ifdef MBOX_USE_SEQ_BIT
/* seq_rcv should be initialized with any value other than
* 0 and 1 << 31, to allow either value for the first
* message. */
static
inline
void
mbox_seq_init
(
struct
omap_mbox
*
mbox
)
{
if
(
!
enable_seq_bit
)
return
;
/* any value other than 0 and 1 << 31 */
mbox
->
seq_rcv
=
0xffffffff
;
}
static
inline
void
mbox_seq_toggle
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
*
msg
)
{
if
(
!
enable_seq_bit
)
return
;
/* add seq_snd to msg */
*
msg
=
(
*
msg
&
0x7fffffff
)
|
mbox
->
seq_snd
;
/* flip seq_snd */
...
...
@@ -64,24 +68,17 @@ static inline void mbox_seq_toggle(struct omap_mbox *mbox, mbox_msg_t * msg)
static
inline
int
mbox_seq_test
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
msg
)
{
mbox_msg_t
seq
=
msg
&
(
1
<<
31
);
mbox_msg_t
seq
;
if
(
!
enable_seq_bit
)
return
0
;
seq
=
msg
&
(
1
<<
31
);
if
(
seq
==
mbox
->
seq_rcv
)
return
-
1
;
mbox
->
seq_rcv
=
seq
;
return
0
;
}
#else
static
inline
void
mbox_seq_init
(
struct
omap_mbox
*
mbox
)
{
}
static
inline
void
mbox_seq_toggle
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
*
msg
)
{
}
static
inline
int
mbox_seq_test
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
msg
)
{
return
0
;
}
#endif
/* Mailbox FIFO handle functions */
static
inline
mbox_msg_t
mbox_fifo_read
(
struct
omap_mbox
*
mbox
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录