Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
e75a320e
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e75a320e
编写于
8月 03, 2010
作者:
J
Jesper Nilsson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
CRIS: v32: Better irq mapping code
Signed-off-by:
N
Jesper Nilsson
<
jesper.nilsson@axis.com
>
上级
403a1c4f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
25 deletion
+22
-25
arch/cris/arch-v32/kernel/irq.c
arch/cris/arch-v32/kernel/irq.c
+22
-25
未找到文件。
arch/cris/arch-v32/kernel/irq.c
浏览文件 @
e75a320e
...
...
@@ -97,7 +97,11 @@ extern void breakh_BUG(void);
/*
* Build the IRQ handler stubs using macros from irq.h.
*/
#ifdef CONFIG_CRIS_MACH_ARTPEC3
BUILD_TIMER_IRQ
(
0x31
,
0
)
#else
BUILD_IRQ
(
0x31
)
#endif
BUILD_IRQ
(
0x32
)
BUILD_IRQ
(
0x33
)
BUILD_IRQ
(
0x34
)
...
...
@@ -123,7 +127,11 @@ BUILD_IRQ(0x47)
BUILD_IRQ
(
0x48
)
BUILD_IRQ
(
0x49
)
BUILD_IRQ
(
0x4a
)
#ifdef CONFIG_ETRAXFS
BUILD_TIMER_IRQ
(
0x4b
,
0
)
#else
BUILD_IRQ
(
0x4b
)
#endif
BUILD_IRQ
(
0x4c
)
BUILD_IRQ
(
0x4d
)
BUILD_IRQ
(
0x4e
)
...
...
@@ -199,25 +207,20 @@ block_irq(int irq, int cpu)
unsigned
long
flags
;
spin_lock_irqsave
(
&
irq_lock
,
flags
);
if
(
irq
-
FIRST_IRQ
<
32
)
/* Remember, 1 let thru, 0 block. */
if
(
irq
-
FIRST_IRQ
<
32
)
{
intr_mask
=
REG_RD_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
0
);
else
intr_mask
=
REG_RD_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
1
);
/* Remember; 1 let thru, 0 block. */
if
(
irq
-
FIRST_IRQ
<
32
)
intr_mask
&=
~
(
1
<<
(
irq
-
FIRST_IRQ
));
else
intr_mask
&=
~
(
1
<<
(
irq
-
FIRST_IRQ
-
32
));
if
(
irq
-
FIRST_IRQ
<
32
)
REG_WR_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
0
,
intr_mask
);
else
}
else
{
intr_mask
=
REG_RD_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
1
);
intr_mask
&=
~
(
1
<<
(
irq
-
FIRST_IRQ
-
32
));
REG_WR_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
1
,
intr_mask
);
}
spin_unlock_irqrestore
(
&
irq_lock
,
flags
);
}
...
...
@@ -228,26 +231,20 @@ unblock_irq(int irq, int cpu)
unsigned
long
flags
;
spin_lock_irqsave
(
&
irq_lock
,
flags
);
if
(
irq
-
FIRST_IRQ
<
32
)
/* Remember, 1 let thru, 0 block. */
if
(
irq
-
FIRST_IRQ
<
32
)
{
intr_mask
=
REG_RD_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
0
);
else
intr_mask
=
REG_RD_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
1
);
/* Remember; 1 let thru, 0 block. */
if
(
irq
-
FIRST_IRQ
<
32
)
intr_mask
|=
(
1
<<
(
irq
-
FIRST_IRQ
));
else
intr_mask
|=
(
1
<<
(
irq
-
FIRST_IRQ
-
32
));
if
(
irq
-
FIRST_IRQ
<
32
)
REG_WR_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
0
,
intr_mask
);
else
}
else
{
intr_mask
=
REG_RD_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
1
);
intr_mask
|=
(
1
<<
(
irq
-
FIRST_IRQ
-
32
));
REG_WR_INT_VECT
(
intr_vect
,
irq_regs
[
cpu
],
rw_mask
,
1
,
intr_mask
);
}
spin_unlock_irqrestore
(
&
irq_lock
,
flags
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录