Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
f5e088d6
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
f5e088d6
编写于
5月 08, 2018
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/disp/nv50-: fetch mask of available piors during oneinit
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
9fe4e177
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
29 addition
and
21 deletion
+29
-21
drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h
+1
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp77.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp77.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp89.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp89.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
+10
-5
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
+3
-6
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
+8
-3
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c
+1
-1
未找到文件。
drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c
浏览文件 @
f5e088d6
...
...
@@ -35,7 +35,7 @@ g84_disp = {
.
head
=
{
.
cnt
=
nv50_head_cnt
,
.
new
=
nv50_head_new
},
.
dac
=
{
.
cnt
=
nv50_dac_cnt
,
.
new
=
nv50_dac_new
},
.
sor
=
{
.
cnt
=
nv50_sor_cnt
,
.
new
=
g84_sor_new
},
.
pior
=
{
.
nr
=
3
,
.
new
=
nv50_pior_new
},
.
pior
=
{
.
cnt
=
nv50_pior_cnt
,
.
new
=
nv50_pior_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.c
浏览文件 @
f5e088d6
...
...
@@ -35,7 +35,7 @@ g94_disp = {
.
head
=
{
.
cnt
=
nv50_head_cnt
,
.
new
=
nv50_head_new
},
.
dac
=
{
.
cnt
=
nv50_dac_cnt
,
.
new
=
nv50_dac_new
},
.
sor
=
{
.
cnt
=
g94_sor_cnt
,
.
new
=
g94_sor_new
},
.
pior
=
{
.
nr
=
3
,
.
new
=
nv50_pior_new
},
.
pior
=
{
.
cnt
=
nv50_pior_cnt
,
.
new
=
nv50_pior_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c
浏览文件 @
f5e088d6
...
...
@@ -35,7 +35,7 @@ gt200_disp = {
.
head
=
{
.
cnt
=
nv50_head_cnt
,
.
new
=
nv50_head_new
},
.
dac
=
{
.
cnt
=
nv50_dac_cnt
,
.
new
=
nv50_dac_new
},
.
sor
=
{
.
cnt
=
nv50_sor_cnt
,
.
new
=
g84_sor_new
},
.
pior
=
{
.
nr
=
3
,
.
new
=
nv50_pior_new
},
.
pior
=
{
.
cnt
=
nv50_pior_cnt
,
.
new
=
nv50_pior_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.c
浏览文件 @
f5e088d6
...
...
@@ -35,7 +35,7 @@ gt215_disp = {
.
head
=
{
.
cnt
=
nv50_head_cnt
,
.
new
=
nv50_head_new
},
.
dac
=
{
.
cnt
=
nv50_dac_cnt
,
.
new
=
nv50_dac_new
},
.
sor
=
{
.
cnt
=
g94_sor_cnt
,
.
new
=
gt215_sor_new
},
.
pior
=
{
.
nr
=
3
,
.
new
=
nv50_pior_new
},
.
pior
=
{
.
cnt
=
nv50_pior_cnt
,
.
new
=
nv50_pior_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h
浏览文件 @
f5e088d6
...
...
@@ -157,6 +157,7 @@ int nv50_dac_new(struct nvkm_disp *, int);
int
gf119_dac_cnt
(
struct
nvkm_disp
*
,
unsigned
long
*
);
int
gf119_dac_new
(
struct
nvkm_disp
*
,
int
);
int
nv50_pior_cnt
(
struct
nvkm_disp
*
,
unsigned
long
*
);
int
nv50_pior_new
(
struct
nvkm_disp
*
,
int
);
int
nv50_sor_cnt
(
struct
nvkm_disp
*
,
unsigned
long
*
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp77.c
浏览文件 @
f5e088d6
...
...
@@ -33,7 +33,7 @@ mcp77_disp = {
.
head
=
{
.
cnt
=
nv50_head_cnt
,
.
new
=
nv50_head_new
},
.
dac
=
{
.
cnt
=
nv50_dac_cnt
,
.
new
=
nv50_dac_new
},
.
sor
=
{
.
cnt
=
g94_sor_cnt
,
.
new
=
mcp77_sor_new
},
.
pior
=
{
.
nr
=
3
,
.
new
=
nv50_pior_new
},
.
pior
=
{
.
cnt
=
nv50_pior_cnt
,
.
new
=
nv50_pior_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp89.c
浏览文件 @
f5e088d6
...
...
@@ -33,7 +33,7 @@ mcp89_disp = {
.
head
=
{
.
cnt
=
nv50_head_cnt
,
.
new
=
nv50_head_new
},
.
dac
=
{
.
cnt
=
nv50_dac_cnt
,
.
new
=
nv50_dac_new
},
.
sor
=
{
.
cnt
=
g94_sor_cnt
,
.
new
=
mcp89_sor_new
},
.
pior
=
{
.
nr
=
3
,
.
new
=
nv50_pior_new
},
.
pior
=
{
.
cnt
=
nv50_pior_cnt
,
.
new
=
nv50_pior_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
浏览文件 @
f5e088d6
...
...
@@ -87,10 +87,15 @@ nv50_disp_oneinit_(struct nvkm_disp *base)
}
}
for
(
i
=
0
;
func
->
pior
.
new
&&
i
<
func
->
pior
.
nr
;
i
++
)
{
ret
=
func
->
pior
.
new
(
&
disp
->
base
,
i
);
if
(
ret
)
return
ret
;
if
(
func
->
pior
.
cnt
)
{
disp
->
pior
.
nr
=
func
->
pior
.
cnt
(
&
disp
->
base
,
&
disp
->
pior
.
mask
);
nvkm_debug
(
subdev
,
" PIOR(s): %d (%02lx)
\n
"
,
disp
->
pior
.
nr
,
disp
->
pior
.
mask
);
for_each_set_bit
(
i
,
&
disp
->
pior
.
mask
,
disp
->
pior
.
nr
)
{
ret
=
func
->
pior
.
new
(
&
disp
->
base
,
i
);
if
(
ret
)
return
ret
;
}
}
disp
->
sor
.
nr
=
func
->
sor
.
cnt
(
&
disp
->
base
,
&
disp
->
sor
.
mask
);
...
...
@@ -647,7 +652,7 @@ nv50_disp = {
.
head
=
{
.
cnt
=
nv50_head_cnt
,
.
new
=
nv50_head_new
},
.
dac
=
{
.
cnt
=
nv50_dac_cnt
,
.
new
=
nv50_dac_new
},
.
sor
=
{
.
cnt
=
nv50_sor_cnt
,
.
new
=
nv50_sor_new
},
.
pior
=
{
.
nr
=
3
,
.
new
=
nv50_pior_new
},
.
pior
=
{
.
cnt
=
nv50_pior_cnt
,
.
new
=
nv50_pior_new
},
};
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
浏览文件 @
f5e088d6
...
...
@@ -27,6 +27,8 @@ struct nv50_disp {
}
sor
;
struct
{
unsigned
long
mask
;
int
nr
;
u8
type
[
3
];
}
pior
;
...
...
@@ -55,12 +57,7 @@ struct nv50_disp_func {
struct
{
int
(
*
cnt
)(
struct
nvkm_disp
*
,
unsigned
long
*
mask
);
int
(
*
new
)(
struct
nvkm_disp
*
,
int
id
);
}
head
,
dac
,
sor
;
struct
{
int
nr
;
int
(
*
new
)(
struct
nvkm_disp
*
,
int
id
);
}
pior
;
}
head
,
dac
,
sor
,
pior
;
};
void
nv50_disp_intr
(
struct
nv50_disp
*
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
浏览文件 @
f5e088d6
...
...
@@ -127,8 +127,13 @@ nv50_pior = {
int
nv50_pior_new
(
struct
nvkm_disp
*
disp
,
int
id
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
if
(
!
(
nvkm_rd32
(
device
,
0x610184
)
&
(
0x10000000
<<
id
)))
return
0
;
return
nvkm_ior_new_
(
&
nv50_pior
,
disp
,
PIOR
,
id
);
}
int
nv50_pior_cnt
(
struct
nvkm_disp
*
disp
,
unsigned
long
*
pmask
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
*
pmask
=
(
nvkm_rd32
(
device
,
0x610184
)
&
0x70000000
)
>>
28
;
return
3
;
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c
浏览文件 @
f5e088d6
...
...
@@ -439,7 +439,7 @@ nv50_disp_root_init(struct nv50_disp_root *root)
}
/* ... PIOR caps */
for
(
i
=
0
;
i
<
disp
->
func
->
pior
.
nr
;
i
++
)
{
for
(
i
=
0
;
i
<
disp
->
pior
.
nr
;
i
++
)
{
tmp
=
nvkm_rd32
(
device
,
0x61e000
+
(
i
*
0x800
));
nvkm_wr32
(
device
,
0x6101f0
+
(
i
*
0x04
),
tmp
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录