Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
51012a39
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看板
提交
51012a39
编写于
7月 09, 2016
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/top/gp100: initial support
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
7f53abdb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
24 addition
and
16 deletion
+24
-16
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
+1
-0
drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c
drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c
+23
-16
未找到文件。
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
浏览文件 @
51012a39
...
...
@@ -2151,6 +2151,7 @@ nv12b_chipset = {
static
const
struct
nvkm_device_chip
nv130_chipset
=
{
.
name
=
"GP100"
,
.
top
=
gk104_top_new
,
};
static
int
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c
浏览文件 @
51012a39
...
...
@@ -29,7 +29,7 @@ gk104_top_oneinit(struct nvkm_top *top)
struct
nvkm_subdev
*
subdev
=
&
top
->
subdev
;
struct
nvkm_device
*
device
=
subdev
->
device
;
struct
nvkm_top_device
*
info
=
NULL
;
u32
data
,
type
;
u32
data
,
type
,
inst
;
int
i
;
for
(
i
=
0
;
i
<
64
;
i
++
)
{
...
...
@@ -37,6 +37,7 @@ gk104_top_oneinit(struct nvkm_top *top)
if
(
!
(
info
=
nvkm_top_device_new
(
top
)))
return
-
ENOMEM
;
type
=
~
0
;
inst
=
0
;
}
data
=
nvkm_rd32
(
device
,
0x022700
+
(
i
*
0x04
));
...
...
@@ -45,6 +46,7 @@ gk104_top_oneinit(struct nvkm_top *top)
case
0x00000000
:
/* NOT_VALID */
continue
;
case
0x00000001
:
/* DATA */
inst
=
(
data
&
0x3c000000
)
>>
26
;
info
->
addr
=
(
data
&
0x00fff000
);
info
->
fault
=
(
data
&
0x000000f8
)
>>
3
;
break
;
...
...
@@ -67,27 +69,32 @@ gk104_top_oneinit(struct nvkm_top *top)
continue
;
/* Translate engine type to NVKM engine identifier. */
#define A_(A) if (inst == 0) info->index = NVKM_ENGINE_##A
#define B_(A) if (inst + NVKM_ENGINE_##A##0 < NVKM_ENGINE_##A##_LAST + 1) \
info->index = NVKM_ENGINE_##A##0 + inst
switch
(
type
)
{
case
0x00000000
:
info
->
index
=
NVKM_ENGINE_GR
;
break
;
case
0x00000001
:
info
->
index
=
NVKM_ENGINE_CE0
;
break
;
case
0x00000002
:
info
->
index
=
NVKM_ENGINE_CE1
;
break
;
case
0x00000003
:
info
->
index
=
NVKM_ENGINE_CE2
;
break
;
case
0x00000008
:
info
->
index
=
NVKM_ENGINE_MSPDEC
;
break
;
case
0x00000009
:
info
->
index
=
NVKM_ENGINE_MSPPP
;
break
;
case
0x0000000a
:
info
->
index
=
NVKM_ENGINE_MSVLD
;
break
;
case
0x0000000b
:
info
->
index
=
NVKM_ENGINE_MSENC
;
break
;
case
0x0000000c
:
info
->
index
=
NVKM_ENGINE_VIC
;
break
;
case
0x0000000d
:
info
->
index
=
NVKM_ENGINE_SEC
;
break
;
case
0x0000000e
:
info
->
index
=
NVKM_ENGINE_NVENC0
;
break
;
case
0x0000000f
:
info
->
index
=
NVKM_ENGINE_NVENC1
;
break
;
case
0x00000010
:
info
->
index
=
NVKM_ENGINE_NVDEC
;
break
;
case
0x00000000
:
A_
(
GR
);
break
;
case
0x00000001
:
A_
(
CE0
);
break
;
case
0x00000002
:
A_
(
CE1
);
break
;
case
0x00000003
:
A_
(
CE2
);
break
;
case
0x00000008
:
A_
(
MSPDEC
);
break
;
case
0x00000009
:
A_
(
MSPPP
);
break
;
case
0x0000000a
:
A_
(
MSVLD
);
break
;
case
0x0000000b
:
A_
(
MSENC
);
break
;
case
0x0000000c
:
A_
(
VIC
);
break
;
case
0x0000000d
:
A_
(
SEC
);
break
;
case
0x0000000e
:
B_
(
NVENC
);
break
;
case
0x0000000f
:
A_
(
NVENC1
);
break
;
case
0x00000010
:
A_
(
NVDEC
);
break
;
case
0x00000013
:
B_
(
CE
);
break
;
break
;
default:
break
;
}
nvkm_debug
(
subdev
,
"%02x (%8s): addr %06x fault %2d engine %2d "
"runlist %2d intr %2d reset %2d
\n
"
,
type
,
nvkm_debug
(
subdev
,
"%02x.%d (%8s): addr %06x fault %2d "
"engine %2d runlist %2d intr %2d "
"reset %2d
\n
"
,
type
,
inst
,
info
->
index
==
NVKM_SUBDEV_NR
?
NULL
:
nvkm_subdev_name
[
info
->
index
],
info
->
addr
,
info
->
fault
,
info
->
engine
,
info
->
runlist
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录