Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
01670a79
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看板
提交
01670a79
编写于
11月 01, 2017
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau: allocate mmu object for every client
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
359088d5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
0 deletion
+22
-0
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_drm.c
+20
-0
drivers/gpu/drm/nouveau/nouveau_drv.h
drivers/gpu/drm/nouveau/nouveau_drv.h
+2
-0
未找到文件。
drivers/gpu/drm/nouveau/nouveau_drm.c
浏览文件 @
01670a79
...
...
@@ -116,6 +116,7 @@ nouveau_cli_fini(struct nouveau_cli *cli)
{
usif_client_fini
(
cli
);
nouveau_vmm_fini
(
&
cli
->
vmm
);
nvif_mmu_fini
(
&
cli
->
mmu
);
nvif_device_fini
(
&
cli
->
device
);
mutex_lock
(
&
cli
->
drm
->
master
.
lock
);
nvif_client_fini
(
&
cli
->
base
);
...
...
@@ -126,6 +127,13 @@ static int
nouveau_cli_init
(
struct
nouveau_drm
*
drm
,
const
char
*
sname
,
struct
nouveau_cli
*
cli
)
{
static
const
struct
nvif_mclass
mmus
[]
=
{
{
NVIF_CLASS_MMU_GF100
,
-
1
},
{
NVIF_CLASS_MMU_NV50
,
-
1
},
{
NVIF_CLASS_MMU_NV04
,
-
1
},
{}
};
u64
device
=
nouveau_name
(
drm
->
dev
);
int
ret
;
...
...
@@ -160,6 +168,18 @@ nouveau_cli_init(struct nouveau_drm *drm, const char *sname,
goto
done
;
}
ret
=
nvif_mclass
(
&
cli
->
device
.
object
,
mmus
);
if
(
ret
<
0
)
{
NV_ERROR
(
drm
,
"No supported MMU class
\n
"
);
goto
done
;
}
ret
=
nvif_mmu_init
(
&
cli
->
device
.
object
,
mmus
[
ret
].
oclass
,
&
cli
->
mmu
);
if
(
ret
)
{
NV_ERROR
(
drm
,
"MMU allocation failed: %d
\n
"
,
ret
);
goto
done
;
}
done:
if
(
ret
)
nouveau_cli_fini
(
cli
);
...
...
drivers/gpu/drm/nouveau/nouveau_drv.h
浏览文件 @
01670a79
...
...
@@ -42,6 +42,7 @@
#include <nvif/client.h>
#include <nvif/device.h>
#include <nvif/ioctl.h>
#include <nvif/mmu.h>
#include <drm/drmP.h>
...
...
@@ -91,6 +92,7 @@ struct nouveau_cli {
struct
mutex
mutex
;
struct
nvif_device
device
;
struct
nvif_mmu
mmu
;
struct
nouveau_vmm
vmm
;
struct
nvkm_vm
*
vm
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录