Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
6ff8c76a
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
6ff8c76a
编写于
8月 21, 2013
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/mc: fix race condition between constructor and request_irq()
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
0ff42c5a
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
14 addition
and
14 deletion
+14
-14
drivers/gpu/drm/nouveau/core/include/subdev/mc.h
drivers/gpu/drm/nouveau/core/include/subdev/mc.h
+4
-3
drivers/gpu/drm/nouveau/core/subdev/mc/base.c
drivers/gpu/drm/nouveau/core/subdev/mc/base.c
+5
-1
drivers/gpu/drm/nouveau/core/subdev/mc/nv04.c
drivers/gpu/drm/nouveau/core/subdev/mc/nv04.c
+1
-2
drivers/gpu/drm/nouveau/core/subdev/mc/nv44.c
drivers/gpu/drm/nouveau/core/subdev/mc/nv44.c
+1
-2
drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c
drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c
+1
-2
drivers/gpu/drm/nouveau/core/subdev/mc/nv98.c
drivers/gpu/drm/nouveau/core/subdev/mc/nv98.c
+1
-2
drivers/gpu/drm/nouveau/core/subdev/mc/nvc0.c
drivers/gpu/drm/nouveau/core/subdev/mc/nvc0.c
+1
-2
未找到文件。
drivers/gpu/drm/nouveau/core/include/subdev/mc.h
浏览文件 @
6ff8c76a
...
...
@@ -20,8 +20,8 @@ nouveau_mc(void *obj)
return
(
void
*
)
nv_device
(
obj
)
->
subdev
[
NVDEV_SUBDEV_MC
];
}
#define nouveau_mc_create(p,e,o,
d)
\
nouveau_mc_create_((p), (e), (o), sizeof(**d), (void **)d)
#define nouveau_mc_create(p,e,o,
m,d)
\
nouveau_mc_create_((p), (e), (o),
(m),
sizeof(**d), (void **)d)
#define nouveau_mc_destroy(p) ({ \
struct nouveau_mc *pmc = (p); _nouveau_mc_dtor(nv_object(pmc)); \
})
...
...
@@ -33,7 +33,8 @@ nouveau_mc(void *obj)
})
int
nouveau_mc_create_
(
struct
nouveau_object
*
,
struct
nouveau_object
*
,
struct
nouveau_oclass
*
,
int
,
void
**
);
struct
nouveau_oclass
*
,
const
struct
nouveau_mc_intr
*
,
int
,
void
**
);
void
_nouveau_mc_dtor
(
struct
nouveau_object
*
);
int
_nouveau_mc_init
(
struct
nouveau_object
*
);
int
_nouveau_mc_fini
(
struct
nouveau_object
*
,
bool
);
...
...
drivers/gpu/drm/nouveau/core/subdev/mc/base.c
浏览文件 @
6ff8c76a
...
...
@@ -80,7 +80,9 @@ _nouveau_mc_dtor(struct nouveau_object *object)
int
nouveau_mc_create_
(
struct
nouveau_object
*
parent
,
struct
nouveau_object
*
engine
,
struct
nouveau_oclass
*
oclass
,
int
length
,
void
**
pobject
)
struct
nouveau_oclass
*
oclass
,
const
struct
nouveau_mc_intr
*
intr_map
,
int
length
,
void
**
pobject
)
{
struct
nouveau_device
*
device
=
nv_device
(
parent
);
struct
nouveau_mc
*
pmc
;
...
...
@@ -92,6 +94,8 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine,
if
(
ret
)
return
ret
;
pmc
->
intr_map
=
intr_map
;
ret
=
request_irq
(
device
->
pdev
->
irq
,
nouveau_mc_intr
,
IRQF_SHARED
,
"nouveau"
,
pmc
);
if
(
ret
<
0
)
...
...
drivers/gpu/drm/nouveau/core/subdev/mc/nv04.c
浏览文件 @
6ff8c76a
...
...
@@ -50,12 +50,11 @@ nv04_mc_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
struct
nv04_mc_priv
*
priv
;
int
ret
;
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
&
priv
);
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
nv04_mc_intr
,
&
priv
);
*
pobject
=
nv_object
(
priv
);
if
(
ret
)
return
ret
;
priv
->
base
.
intr_map
=
nv04_mc_intr
;
return
0
;
}
...
...
drivers/gpu/drm/nouveau/core/subdev/mc/nv44.c
浏览文件 @
6ff8c76a
...
...
@@ -36,12 +36,11 @@ nv44_mc_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
struct
nv44_mc_priv
*
priv
;
int
ret
;
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
&
priv
);
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
nv04_mc_intr
,
&
priv
);
*
pobject
=
nv_object
(
priv
);
if
(
ret
)
return
ret
;
priv
->
base
.
intr_map
=
nv04_mc_intr
;
return
0
;
}
...
...
drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c
浏览文件 @
6ff8c76a
...
...
@@ -53,12 +53,11 @@ nv50_mc_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
struct
nv50_mc_priv
*
priv
;
int
ret
;
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
&
priv
);
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
nv50_mc_intr
,
&
priv
);
*
pobject
=
nv_object
(
priv
);
if
(
ret
)
return
ret
;
priv
->
base
.
intr_map
=
nv50_mc_intr
;
return
0
;
}
...
...
drivers/gpu/drm/nouveau/core/subdev/mc/nv98.c
浏览文件 @
6ff8c76a
...
...
@@ -54,12 +54,11 @@ nv98_mc_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
struct
nv98_mc_priv
*
priv
;
int
ret
;
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
&
priv
);
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
nv98_mc_intr
,
&
priv
);
*
pobject
=
nv_object
(
priv
);
if
(
ret
)
return
ret
;
priv
->
base
.
intr_map
=
nv98_mc_intr
;
return
0
;
}
...
...
drivers/gpu/drm/nouveau/core/subdev/mc/nvc0.c
浏览文件 @
6ff8c76a
...
...
@@ -57,12 +57,11 @@ nvc0_mc_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
struct
nvc0_mc_priv
*
priv
;
int
ret
;
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
&
priv
);
ret
=
nouveau_mc_create
(
parent
,
engine
,
oclass
,
nvc0_mc_intr
,
&
priv
);
*
pobject
=
nv_object
(
priv
);
if
(
ret
)
return
ret
;
priv
->
base
.
intr_map
=
nvc0_mc_intr
;
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录