Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
deb9b22b
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
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看板
提交
deb9b22b
编写于
2月 02, 2010
作者:
P
Paul Mundt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sh: mach-dreamcast: Convert to sparseirq.
Signed-off-by:
N
Paul Mundt
<
lethal@linux-sh.org
>
上级
6eb6f983
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
34 addition
and
19 deletion
+34
-19
arch/sh/Kconfig
arch/sh/Kconfig
+1
-2
arch/sh/boards/mach-dreamcast/irq.c
arch/sh/boards/mach-dreamcast/irq.c
+27
-0
arch/sh/boards/mach-dreamcast/setup.c
arch/sh/boards/mach-dreamcast/setup.c
+1
-17
arch/sh/include/mach-dreamcast/mach/sysasic.h
arch/sh/include/mach-dreamcast/mach/sysasic.h
+5
-0
未找到文件。
arch/sh/Kconfig
浏览文件 @
deb9b22b
...
...
@@ -730,8 +730,7 @@ config GUSA_RB
config SPARSE_IRQ
def_bool y
depends on SUPERH32 && !SH_DREAMCAST && !SH_HIGHLANDER && \
!SH_RTS7751R2D
depends on SUPERH32 && !SH_HIGHLANDER && !SH_RTS7751R2D
help
This enables support for sparse irqs. This is useful in general
as most CPUs have a fairly sparse array of IRQ vectors, which
...
...
arch/sh/boards/mach-dreamcast/irq.c
浏览文件 @
deb9b22b
...
...
@@ -135,3 +135,30 @@ int systemasic_irq_demux(int irq)
/* Not reached */
return
irq
;
}
void
systemasic_irq_init
(
void
)
{
int
i
,
nid
=
cpu_to_node
(
boot_cpu_data
);
/* Assign all virtual IRQs to the System ASIC int. handler */
for
(
i
=
HW_EVENT_IRQ_BASE
;
i
<
HW_EVENT_IRQ_MAX
;
i
++
)
{
unsigned
int
irq
;
irq
=
create_irq_nr
(
i
,
nid
);
if
(
unlikely
(
irq
==
0
))
{
pr_err
(
"%s: failed hooking irq %d for systemasic
\n
"
,
__func__
,
i
);
return
;
}
if
(
unlikely
(
irq
!=
i
))
{
pr_err
(
"%s: got irq %d but wanted %d, bailing.
\n
"
,
__func__
,
irq
,
i
);
destroy_irq
(
irq
);
return
;
}
set_irq_chip_and_handler
(
i
,
&
systemasic_int
,
handle_level_irq
);
}
}
arch/sh/boards/mach-dreamcast/setup.c
浏览文件 @
deb9b22b
...
...
@@ -28,25 +28,8 @@
#include <asm/machvec.h>
#include <mach/sysasic.h>
extern
struct
irq_chip
systemasic_int
;
extern
void
aica_time_init
(
void
);
extern
int
systemasic_irq_demux
(
int
);
static
void
__init
dreamcast_setup
(
char
**
cmdline_p
)
{
int
i
;
/* Mask all hardware events */
/* XXX */
/* Acknowledge any previous events */
/* XXX */
/* Assign all virtual IRQs to the System ASIC int. handler */
for
(
i
=
HW_EVENT_IRQ_BASE
;
i
<
HW_EVENT_IRQ_MAX
;
i
++
)
set_irq_chip_and_handler
(
i
,
&
systemasic_int
,
handle_level_irq
);
board_time_init
=
aica_time_init
;
}
...
...
@@ -54,4 +37,5 @@ static struct sh_machine_vector mv_dreamcast __initmv = {
.
mv_name
=
"Sega Dreamcast"
,
.
mv_setup
=
dreamcast_setup
,
.
mv_irq_demux
=
systemasic_irq_demux
,
.
mv_init_irq
=
systemasic_irq_init
,
};
arch/sh/include/mach-dreamcast/mach/sysasic.h
浏览文件 @
deb9b22b
...
...
@@ -39,5 +39,10 @@
#define HW_EVENT_IRQ_MAX (HW_EVENT_IRQ_BASE + 95)
/* arch/sh/boards/mach-dreamcast/irq.c */
extern
int
systemasic_irq_demux
(
int
);
extern
void
systemasic_irq_init
(
void
);
extern
void
aica_time_init
(
void
);
#endif
/* __ASM_SH_DREAMCAST_SYSASIC_H */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录