Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
b8ad561e
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看板
提交
b8ad561e
编写于
8月 20, 2015
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/sec: switch to device pri macros
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
846e831d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
10 deletion
+11
-10
drivers/gpu/drm/nouveau/nvkm/engine/sec/g98.c
drivers/gpu/drm/nouveau/nvkm/engine/sec/g98.c
+11
-10
未找到文件。
drivers/gpu/drm/nouveau/nvkm/engine/sec/g98.c
浏览文件 @
b8ad561e
...
...
@@ -71,18 +71,19 @@ static const struct nvkm_enum g98_sec_isr_error_name[] = {
static
void
g98_sec_intr
(
struct
nvkm_subdev
*
subdev
)
{
struct
nvkm_fifo
*
fifo
=
nvkm_fifo
(
subdev
);
struct
nvkm_falcon
*
sec
=
(
void
*
)
subdev
;
struct
nvkm_device
*
device
=
sec
->
engine
.
subdev
.
device
;
struct
nvkm_fifo
*
fifo
=
device
->
fifo
;
struct
nvkm_engine
*
engine
=
nv_engine
(
subdev
);
struct
nvkm_object
*
engctx
;
struct
nvkm_falcon
*
sec
=
(
void
*
)
subdev
;
u32
disp
=
nv_rd32
(
sec
,
0x08701c
);
u32
stat
=
nv_rd32
(
sec
,
0x087008
)
&
disp
&
~
(
disp
>>
16
);
u32
inst
=
nv_rd32
(
sec
,
0x087050
)
&
0x3fffffff
;
u32
ssta
=
nv_rd32
(
sec
,
0x087040
)
&
0x0000ffff
;
u32
addr
=
nv_rd32
(
sec
,
0x087040
)
>>
16
;
u32
disp
=
nvkm_rd32
(
device
,
0x08701c
);
u32
stat
=
nvkm_rd32
(
device
,
0x087008
)
&
disp
&
~
(
disp
>>
16
);
u32
inst
=
nvkm_rd32
(
device
,
0x087050
)
&
0x3fffffff
;
u32
ssta
=
nvkm_rd32
(
device
,
0x087040
)
&
0x0000ffff
;
u32
addr
=
nvkm_rd32
(
device
,
0x087040
)
>>
16
;
u32
mthd
=
(
addr
&
0x07ff
)
<<
2
;
u32
subc
=
(
addr
&
0x3800
)
>>
11
;
u32
data
=
nv
_rd32
(
sec
,
0x087044
);
u32
data
=
nv
km_rd32
(
device
,
0x087044
);
int
chid
;
engctx
=
nvkm_engctx_get
(
engine
,
inst
);
...
...
@@ -94,13 +95,13 @@ g98_sec_intr(struct nvkm_subdev *subdev)
pr_cont
(
"] ch %d [0x%010llx %s] subc %d mthd 0x%04x data 0x%08x
\n
"
,
chid
,
(
u64
)
inst
<<
12
,
nvkm_client_name
(
engctx
),
subc
,
mthd
,
data
);
nv
_wr32
(
sec
,
0x087004
,
0x00000040
);
nv
km_wr32
(
device
,
0x087004
,
0x00000040
);
stat
&=
~
0x00000040
;
}
if
(
stat
)
{
nv_error
(
sec
,
"unhandled intr 0x%08x
\n
"
,
stat
);
nv
_wr32
(
sec
,
0x087004
,
stat
);
nv
km_wr32
(
device
,
0x087004
,
stat
);
}
nvkm_engctx_put
(
engctx
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录