Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
7eac5f4e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
7eac5f4e
编写于
11月 01, 2017
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/bar/gf100: initialise vmm with new interfaces
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
fc584e1a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
18 deletion
+14
-18
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
+13
-17
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.h
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.h
+1
-1
未找到文件。
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
浏览文件 @
7eac5f4e
...
...
@@ -31,7 +31,7 @@
struct
nvkm_vmm
*
gf100_bar_bar1_vmm
(
struct
nvkm_bar
*
base
)
{
return
gf100_bar
(
base
)
->
bar
[
1
].
vm
;
return
gf100_bar
(
base
)
->
bar
[
1
].
vm
m
;
}
void
...
...
@@ -60,7 +60,7 @@ gf100_bar_bar1_init(struct nvkm_bar *base)
struct
nvkm_vmm
*
gf100_bar_bar2_vmm
(
struct
nvkm_bar
*
base
)
{
return
gf100_bar
(
base
)
->
bar
[
0
].
vm
;
return
gf100_bar
(
base
)
->
bar
[
0
].
vm
m
;
}
void
...
...
@@ -85,7 +85,6 @@ gf100_bar_oneinit_bar(struct gf100_bar *bar, struct gf100_barN *bar_vm,
struct
lock_class_key
*
key
,
int
bar_nr
)
{
struct
nvkm_device
*
device
=
bar
->
base
.
subdev
.
device
;
struct
nvkm_vm
*
vm
;
resource_size_t
bar_len
;
int
ret
;
...
...
@@ -98,29 +97,24 @@ gf100_bar_oneinit_bar(struct gf100_bar *bar, struct gf100_barN *bar_vm,
if
(
bar_nr
==
3
&&
bar
->
bar2_halve
)
bar_len
>>=
1
;
ret
=
nvkm_vm_new
(
device
,
0
,
bar_len
,
0
,
key
,
&
vm
);
ret
=
nvkm_vmm_new
(
device
,
0
,
bar_len
,
NULL
,
0
,
key
,
(
bar_nr
==
3
)
?
"bar2"
:
"bar1"
,
&
bar_vm
->
vmm
);
if
(
ret
)
return
ret
;
atomic_inc
(
&
vm
->
engref
[
NVKM_SUBDEV_BAR
]);
atomic_inc
(
&
bar_vm
->
vmm
->
engref
[
NVKM_SUBDEV_BAR
]);
bar_vm
->
vmm
->
debug
=
bar
->
base
.
subdev
.
debug
;
/*
* Bootstrap page table lookup.
*/
if
(
bar_nr
==
3
)
{
ret
=
nvkm_vm_boot
(
vm
,
bar_len
);
if
(
ret
)
{
nvkm_vm_ref
(
NULL
,
&
vm
,
NULL
);
ret
=
nvkm_vmm_boot
(
bar_vm
->
vmm
);
if
(
ret
)
return
ret
;
}
}
ret
=
nvkm_vm_ref
(
vm
,
&
bar_vm
->
vm
,
bar_vm
->
inst
);
nvkm_vm_ref
(
NULL
,
&
vm
,
NULL
);
if
(
ret
)
return
ret
;
return
0
;
return
nvkm_vmm_join
(
bar_vm
->
vmm
,
bar_vm
->
inst
);
}
int
...
...
@@ -154,10 +148,12 @@ gf100_bar_dtor(struct nvkm_bar *base)
{
struct
gf100_bar
*
bar
=
gf100_bar
(
base
);
nvkm_vm_ref
(
NULL
,
&
bar
->
bar
[
1
].
vm
,
bar
->
bar
[
1
].
inst
);
nvkm_vmm_part
(
bar
->
bar
[
1
].
vmm
,
bar
->
bar
[
1
].
inst
);
nvkm_vmm_unref
(
&
bar
->
bar
[
1
].
vmm
);
nvkm_memory_unref
(
&
bar
->
bar
[
1
].
inst
);
nvkm_vm_ref
(
NULL
,
&
bar
->
bar
[
0
].
vm
,
bar
->
bar
[
0
].
inst
);
nvkm_vmm_part
(
bar
->
bar
[
0
].
vmm
,
bar
->
bar
[
0
].
inst
);
nvkm_vmm_unref
(
&
bar
->
bar
[
0
].
vmm
);
nvkm_memory_unref
(
&
bar
->
bar
[
0
].
inst
);
return
bar
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.h
浏览文件 @
7eac5f4e
...
...
@@ -5,7 +5,7 @@
struct
gf100_barN
{
struct
nvkm_memory
*
inst
;
struct
nvkm_vm
*
v
m
;
struct
nvkm_vm
m
*
vm
m
;
};
struct
gf100_bar
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录