Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
14187b00
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
170
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看板
提交
14187b00
编写于
5月 19, 2017
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/disp: move vblank_{get,put} methods into nvkm_head
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
a1c93078
变更
20
隐藏空白更改
内联
并排
Showing
20 changed file
with
60 addition
and
99 deletion
+60
-99
drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c
+8
-4
drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
+0
-16
drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp102.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp102.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/head.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/head.h
+2
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/headgf119.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/headgf119.c
+18
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/headnv04.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/headnv04.c
+16
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/headnv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/headnv50.c
+16
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
+0
-16
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
+0
-32
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
+0
-6
drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h
+0
-5
未找到文件。
drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c
浏览文件 @
14187b00
...
@@ -38,17 +38,21 @@
...
@@ -38,17 +38,21 @@
#include <nvif/unpack.h>
#include <nvif/unpack.h>
static
void
static
void
nvkm_disp_vblank_fini
(
struct
nvkm_event
*
event
,
int
type
,
int
hea
d
)
nvkm_disp_vblank_fini
(
struct
nvkm_event
*
event
,
int
type
,
int
i
d
)
{
{
struct
nvkm_disp
*
disp
=
container_of
(
event
,
typeof
(
*
disp
),
vblank
);
struct
nvkm_disp
*
disp
=
container_of
(
event
,
typeof
(
*
disp
),
vblank
);
disp
->
func
->
head
.
vblank_fini
(
disp
,
head
);
struct
nvkm_head
*
head
=
nvkm_head_find
(
disp
,
id
);
if
(
head
)
head
->
func
->
vblank_put
(
head
);
}
}
static
void
static
void
nvkm_disp_vblank_init
(
struct
nvkm_event
*
event
,
int
type
,
int
hea
d
)
nvkm_disp_vblank_init
(
struct
nvkm_event
*
event
,
int
type
,
int
i
d
)
{
{
struct
nvkm_disp
*
disp
=
container_of
(
event
,
typeof
(
*
disp
),
vblank
);
struct
nvkm_disp
*
disp
=
container_of
(
event
,
typeof
(
*
disp
),
vblank
);
disp
->
func
->
head
.
vblank_init
(
disp
,
head
);
struct
nvkm_head
*
head
=
nvkm_head_find
(
disp
,
id
);
if
(
head
)
head
->
func
->
vblank_get
(
head
);
}
}
static
int
static
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c
浏览文件 @
14187b00
...
@@ -32,8 +32,6 @@ g84_disp = {
...
@@ -32,8 +32,6 @@ g84_disp = {
.
super
=
nv50_disp_super
,
.
super
=
nv50_disp_super
,
.
root
=
&
g84_disp_root_oclass
,
.
root
=
&
g84_disp_root_oclass
,
.
head
.
new
=
nv50_head_new
,
.
head
.
new
=
nv50_head_new
,
.
head
.
vblank_init
=
nv50_disp_vblank_init
,
.
head
.
vblank_fini
=
nv50_disp_vblank_fini
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.c
浏览文件 @
14187b00
...
@@ -32,8 +32,6 @@ g94_disp = {
...
@@ -32,8 +32,6 @@ g94_disp = {
.
super
=
nv50_disp_super
,
.
super
=
nv50_disp_super
,
.
root
=
&
g94_disp_root_oclass
,
.
root
=
&
g94_disp_root_oclass
,
.
head
.
new
=
nv50_head_new
,
.
head
.
new
=
nv50_head_new
,
.
head
.
vblank_init
=
nv50_disp_vblank_init
,
.
head
.
vblank_fini
=
nv50_disp_vblank_fini
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
浏览文件 @
14187b00
...
@@ -31,20 +31,6 @@
...
@@ -31,20 +31,6 @@
#include <subdev/bios/pll.h>
#include <subdev/bios/pll.h>
#include <subdev/devinit.h>
#include <subdev/devinit.h>
void
gf119_disp_vblank_init
(
struct
nv50_disp
*
disp
,
int
head
)
{
struct
nvkm_device
*
device
=
disp
->
base
.
engine
.
subdev
.
device
;
nvkm_mask
(
device
,
0x6100c0
+
(
head
*
0x800
),
0x00000001
,
0x00000001
);
}
void
gf119_disp_vblank_fini
(
struct
nv50_disp
*
disp
,
int
head
)
{
struct
nvkm_device
*
device
=
disp
->
base
.
engine
.
subdev
.
device
;
nvkm_mask
(
device
,
0x6100c0
+
(
head
*
0x800
),
0x00000001
,
0x00000000
);
}
static
struct
nvkm_output
*
static
struct
nvkm_output
*
exec_lookup
(
struct
nv50_disp
*
disp
,
int
head
,
int
or
,
u32
ctrl
,
exec_lookup
(
struct
nv50_disp
*
disp
,
int
head
,
int
or
,
u32
ctrl
,
u32
*
data
,
u8
*
ver
,
u8
*
hdr
,
u8
*
cnt
,
u8
*
len
,
u32
*
data
,
u8
*
ver
,
u8
*
hdr
,
u8
*
cnt
,
u8
*
len
,
...
@@ -515,8 +501,6 @@ gf119_disp = {
...
@@ -515,8 +501,6 @@ gf119_disp = {
.
super
=
gf119_disp_super
,
.
super
=
gf119_disp_super
,
.
root
=
&
gf119_disp_root_oclass
,
.
root
=
&
gf119_disp_root_oclass
,
.
head
.
new
=
gf119_head_new
,
.
head
.
new
=
gf119_head_new
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c
浏览文件 @
14187b00
...
@@ -33,8 +33,6 @@ gk104_disp = {
...
@@ -33,8 +33,6 @@ gk104_disp = {
.
super
=
gf119_disp_super
,
.
super
=
gf119_disp_super
,
.
root
=
&
gk104_disp_root_oclass
,
.
root
=
&
gk104_disp_root_oclass
,
.
head
.
new
=
gf119_head_new
,
.
head
.
new
=
gf119_head_new
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.c
浏览文件 @
14187b00
...
@@ -33,8 +33,6 @@ gk110_disp = {
...
@@ -33,8 +33,6 @@ gk110_disp = {
.
super
=
gf119_disp_super
,
.
super
=
gf119_disp_super
,
.
root
=
&
gk110_disp_root_oclass
,
.
root
=
&
gk110_disp_root_oclass
,
.
head
.
new
=
gf119_head_new
,
.
head
.
new
=
gf119_head_new
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
浏览文件 @
14187b00
...
@@ -33,8 +33,6 @@ gm107_disp = {
...
@@ -33,8 +33,6 @@ gm107_disp = {
.
super
=
gf119_disp_super
,
.
super
=
gf119_disp_super
,
.
root
=
&
gm107_disp_root_oclass
,
.
root
=
&
gm107_disp_root_oclass
,
.
head
.
new
=
gf119_head_new
,
.
head
.
new
=
gf119_head_new
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.c
浏览文件 @
14187b00
...
@@ -33,8 +33,6 @@ gm200_disp = {
...
@@ -33,8 +33,6 @@ gm200_disp = {
.
super
=
gf119_disp_super
,
.
super
=
gf119_disp_super
,
.
root
=
&
gm200_disp_root_oclass
,
.
root
=
&
gm200_disp_root_oclass
,
.
head
.
new
=
gf119_head_new
,
.
head
.
new
=
gf119_head_new
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
浏览文件 @
14187b00
...
@@ -33,8 +33,6 @@ gp100_disp = {
...
@@ -33,8 +33,6 @@ gp100_disp = {
.
super
=
gf119_disp_super
,
.
super
=
gf119_disp_super
,
.
root
=
&
gp100_disp_root_oclass
,
.
root
=
&
gp100_disp_root_oclass
,
.
head
.
new
=
gf119_head_new
,
.
head
.
new
=
gf119_head_new
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp102.c
浏览文件 @
14187b00
...
@@ -59,8 +59,6 @@ gp102_disp = {
...
@@ -59,8 +59,6 @@ gp102_disp = {
.
super
=
gf119_disp_super
,
.
super
=
gf119_disp_super
,
.
root
=
&
gp102_disp_root_oclass
,
.
root
=
&
gp102_disp_root_oclass
,
.
head
.
new
=
gf119_head_new
,
.
head
.
new
=
gf119_head_new
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c
浏览文件 @
14187b00
...
@@ -32,8 +32,6 @@ gt200_disp = {
...
@@ -32,8 +32,6 @@ gt200_disp = {
.
super
=
nv50_disp_super
,
.
super
=
nv50_disp_super
,
.
root
=
&
gt200_disp_root_oclass
,
.
root
=
&
gt200_disp_root_oclass
,
.
head
.
new
=
nv50_head_new
,
.
head
.
new
=
nv50_head_new
,
.
head
.
vblank_init
=
nv50_disp_vblank_init
,
.
head
.
vblank_fini
=
nv50_disp_vblank_fini
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.c
浏览文件 @
14187b00
...
@@ -32,8 +32,6 @@ gt215_disp = {
...
@@ -32,8 +32,6 @@ gt215_disp = {
.
super
=
nv50_disp_super
,
.
super
=
nv50_disp_super
,
.
root
=
&
gt215_disp_root_oclass
,
.
root
=
&
gt215_disp_root_oclass
,
.
head
.
new
=
nv50_head_new
,
.
head
.
new
=
nv50_head_new
,
.
head
.
vblank_init
=
nv50_disp_vblank_init
,
.
head
.
vblank_fini
=
nv50_disp_vblank_fini
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/head.h
浏览文件 @
14187b00
...
@@ -15,6 +15,8 @@ void nvkm_head_del(struct nvkm_head **);
...
@@ -15,6 +15,8 @@ void nvkm_head_del(struct nvkm_head **);
struct
nvkm_head
*
nvkm_head_find
(
struct
nvkm_disp
*
,
int
id
);
struct
nvkm_head
*
nvkm_head_find
(
struct
nvkm_disp
*
,
int
id
);
struct
nvkm_head_func
{
struct
nvkm_head_func
{
void
(
*
vblank_get
)(
struct
nvkm_head
*
);
void
(
*
vblank_put
)(
struct
nvkm_head
*
);
};
};
#define HEAD_MSG(h,l,f,a...) do { \
#define HEAD_MSG(h,l,f,a...) do { \
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/headgf119.c
浏览文件 @
14187b00
...
@@ -23,8 +23,26 @@
...
@@ -23,8 +23,26 @@
*/
*/
#include "head.h"
#include "head.h"
static
void
gf119_head_vblank_put
(
struct
nvkm_head
*
head
)
{
struct
nvkm_device
*
device
=
head
->
disp
->
engine
.
subdev
.
device
;
const
u32
hoff
=
head
->
id
*
0x800
;
nvkm_mask
(
device
,
0x6100c0
+
hoff
,
0x00000001
,
0x00000000
);
}
static
void
gf119_head_vblank_get
(
struct
nvkm_head
*
head
)
{
struct
nvkm_device
*
device
=
head
->
disp
->
engine
.
subdev
.
device
;
const
u32
hoff
=
head
->
id
*
0x800
;
nvkm_mask
(
device
,
0x6100c0
+
hoff
,
0x00000001
,
0x00000001
);
}
static
const
struct
nvkm_head_func
static
const
struct
nvkm_head_func
gf119_head
=
{
gf119_head
=
{
.
vblank_get
=
gf119_head_vblank_get
,
.
vblank_put
=
gf119_head_vblank_put
,
};
};
int
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/headnv04.c
浏览文件 @
14187b00
...
@@ -23,8 +23,24 @@
...
@@ -23,8 +23,24 @@
*/
*/
#include "head.h"
#include "head.h"
static
void
nv04_head_vblank_put
(
struct
nvkm_head
*
head
)
{
struct
nvkm_device
*
device
=
head
->
disp
->
engine
.
subdev
.
device
;
nvkm_wr32
(
device
,
0x600140
+
(
head
->
id
*
0x2000
)
,
0x00000000
);
}
static
void
nv04_head_vblank_get
(
struct
nvkm_head
*
head
)
{
struct
nvkm_device
*
device
=
head
->
disp
->
engine
.
subdev
.
device
;
nvkm_wr32
(
device
,
0x600140
+
(
head
->
id
*
0x2000
)
,
0x00000001
);
}
static
const
struct
nvkm_head_func
static
const
struct
nvkm_head_func
nv04_head
=
{
nv04_head
=
{
.
vblank_get
=
nv04_head_vblank_get
,
.
vblank_put
=
nv04_head_vblank_put
,
};
};
int
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/headnv50.c
浏览文件 @
14187b00
...
@@ -23,8 +23,24 @@
...
@@ -23,8 +23,24 @@
*/
*/
#include "head.h"
#include "head.h"
static
void
nv50_head_vblank_put
(
struct
nvkm_head
*
head
)
{
struct
nvkm_device
*
device
=
head
->
disp
->
engine
.
subdev
.
device
;
nvkm_mask
(
device
,
0x61002c
,
(
4
<<
head
->
id
),
0
);
}
static
void
nv50_head_vblank_get
(
struct
nvkm_head
*
head
)
{
struct
nvkm_device
*
device
=
head
->
disp
->
engine
.
subdev
.
device
;
nvkm_mask
(
device
,
0x61002c
,
(
4
<<
head
->
id
),
(
4
<<
head
->
id
));
}
static
const
struct
nvkm_head_func
static
const
struct
nvkm_head_func
nv50_head
=
{
nv50_head
=
{
.
vblank_get
=
nv50_head_vblank_get
,
.
vblank_put
=
nv50_head_vblank_put
,
};
};
int
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
浏览文件 @
14187b00
...
@@ -30,20 +30,6 @@ nv04_disp_root(struct nvkm_disp *disp)
...
@@ -30,20 +30,6 @@ nv04_disp_root(struct nvkm_disp *disp)
return
&
nv04_disp_root_oclass
;
return
&
nv04_disp_root_oclass
;
}
}
static
void
nv04_disp_vblank_init
(
struct
nvkm_disp
*
disp
,
int
head
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
nvkm_wr32
(
device
,
0x600140
+
(
head
*
0x2000
)
,
0x00000001
);
}
static
void
nv04_disp_vblank_fini
(
struct
nvkm_disp
*
disp
,
int
head
)
{
struct
nvkm_device
*
device
=
disp
->
engine
.
subdev
.
device
;
nvkm_wr32
(
device
,
0x600140
+
(
head
*
0x2000
)
,
0x00000000
);
}
static
void
static
void
nv04_disp_intr
(
struct
nvkm_disp
*
disp
)
nv04_disp_intr
(
struct
nvkm_disp
*
disp
)
{
{
...
@@ -75,8 +61,6 @@ static const struct nvkm_disp_func
...
@@ -75,8 +61,6 @@ static const struct nvkm_disp_func
nv04_disp
=
{
nv04_disp
=
{
.
intr
=
nv04_disp_intr
,
.
intr
=
nv04_disp_intr
,
.
root
=
nv04_disp_root
,
.
root
=
nv04_disp_root
,
.
head
.
vblank_init
=
nv04_disp_vblank_init
,
.
head
.
vblank_fini
=
nv04_disp_vblank_fini
,
};
};
int
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
浏览文件 @
14187b00
...
@@ -98,20 +98,6 @@ nv50_disp_outp_external_dp_(struct nvkm_disp *base, int index,
...
@@ -98,20 +98,6 @@ nv50_disp_outp_external_dp_(struct nvkm_disp *base, int index,
return
-
ENODEV
;
return
-
ENODEV
;
}
}
static
void
nv50_disp_vblank_fini_
(
struct
nvkm_disp
*
base
,
int
head
)
{
struct
nv50_disp
*
disp
=
nv50_disp
(
base
);
disp
->
func
->
head
.
vblank_fini
(
disp
,
head
);
}
static
void
nv50_disp_vblank_init_
(
struct
nvkm_disp
*
base
,
int
head
)
{
struct
nv50_disp
*
disp
=
nv50_disp
(
base
);
disp
->
func
->
head
.
vblank_init
(
disp
,
head
);
}
static
void
static
void
nv50_disp_intr_
(
struct
nvkm_disp
*
base
)
nv50_disp_intr_
(
struct
nvkm_disp
*
base
)
{
{
...
@@ -138,8 +124,6 @@ nv50_disp_ = {
...
@@ -138,8 +124,6 @@ nv50_disp_ = {
.
outp
.
internal
.
dp
=
nv50_disp_outp_internal_dp_
,
.
outp
.
internal
.
dp
=
nv50_disp_outp_internal_dp_
,
.
outp
.
external
.
tmds
=
nv50_disp_outp_external_tmds_
,
.
outp
.
external
.
tmds
=
nv50_disp_outp_external_tmds_
,
.
outp
.
external
.
dp
=
nv50_disp_outp_external_dp_
,
.
outp
.
external
.
dp
=
nv50_disp_outp_external_dp_
,
.
head
.
vblank_init
=
nv50_disp_vblank_init_
,
.
head
.
vblank_fini
=
nv50_disp_vblank_fini_
,
};
};
int
int
...
@@ -168,20 +152,6 @@ nv50_disp_new_(const struct nv50_disp_func *func, struct nvkm_device *device,
...
@@ -168,20 +152,6 @@ nv50_disp_new_(const struct nv50_disp_func *func, struct nvkm_device *device,
return
nvkm_event_init
(
func
->
uevent
,
1
,
1
+
(
heads
*
4
),
&
disp
->
uevent
);
return
nvkm_event_init
(
func
->
uevent
,
1
,
1
+
(
heads
*
4
),
&
disp
->
uevent
);
}
}
void
nv50_disp_vblank_fini
(
struct
nv50_disp
*
disp
,
int
head
)
{
struct
nvkm_device
*
device
=
disp
->
base
.
engine
.
subdev
.
device
;
nvkm_mask
(
device
,
0x61002c
,
(
4
<<
head
),
0
);
}
void
nv50_disp_vblank_init
(
struct
nv50_disp
*
disp
,
int
head
)
{
struct
nvkm_device
*
device
=
disp
->
base
.
engine
.
subdev
.
device
;
nvkm_mask
(
device
,
0x61002c
,
(
4
<<
head
),
(
4
<<
head
));
}
static
struct
nvkm_output
*
static
struct
nvkm_output
*
exec_lookup
(
struct
nv50_disp
*
disp
,
int
head
,
int
or
,
u32
ctrl
,
exec_lookup
(
struct
nv50_disp
*
disp
,
int
head
,
int
or
,
u32
ctrl
,
u32
*
data
,
u8
*
ver
,
u8
*
hdr
,
u8
*
cnt
,
u8
*
len
,
u32
*
data
,
u8
*
ver
,
u8
*
hdr
,
u8
*
cnt
,
u8
*
len
,
...
@@ -827,8 +797,6 @@ nv50_disp = {
...
@@ -827,8 +797,6 @@ nv50_disp = {
.
super
=
nv50_disp_super
,
.
super
=
nv50_disp_super
,
.
root
=
&
nv50_disp_root_oclass
,
.
root
=
&
nv50_disp_root_oclass
,
.
head
.
new
=
nv50_head_new
,
.
head
.
new
=
nv50_head_new
,
.
head
.
vblank_init
=
nv50_disp_vblank_init
,
.
head
.
vblank_fini
=
nv50_disp_vblank_fini
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
head
.
scanoutpos
=
nv50_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
浏览文件 @
14187b00
...
@@ -76,8 +76,6 @@ struct nv50_disp_func {
...
@@ -76,8 +76,6 @@ struct nv50_disp_func {
struct
{
struct
{
int
(
*
new
)(
struct
nvkm_disp
*
,
int
id
);
int
(
*
new
)(
struct
nvkm_disp
*
,
int
id
);
void
(
*
vblank_init
)(
struct
nv50_disp
*
,
int
head
);
void
(
*
vblank_fini
)(
struct
nv50_disp
*
,
int
head
);
int
(
*
scanoutpos
)(
NV50_DISP_MTHD_V0
);
int
(
*
scanoutpos
)(
NV50_DISP_MTHD_V0
);
}
head
;
}
head
;
...
@@ -106,13 +104,9 @@ struct nv50_disp_func {
...
@@ -106,13 +104,9 @@ struct nv50_disp_func {
}
pior
;
}
pior
;
};
};
void
nv50_disp_vblank_init
(
struct
nv50_disp
*
,
int
);
void
nv50_disp_vblank_fini
(
struct
nv50_disp
*
,
int
);
void
nv50_disp_intr
(
struct
nv50_disp
*
);
void
nv50_disp_intr
(
struct
nv50_disp
*
);
void
nv50_disp_super
(
struct
work_struct
*
);
void
nv50_disp_super
(
struct
work_struct
*
);
void
gf119_disp_vblank_init
(
struct
nv50_disp
*
,
int
);
void
gf119_disp_vblank_fini
(
struct
nv50_disp
*
,
int
);
void
gf119_disp_intr
(
struct
nv50_disp
*
);
void
gf119_disp_intr
(
struct
nv50_disp
*
);
void
gf119_disp_super
(
struct
work_struct
*
);
void
gf119_disp_super
(
struct
work_struct
*
);
void
gf119_disp_intr_error
(
struct
nv50_disp
*
,
int
);
void
gf119_disp_intr_error
(
struct
nv50_disp
*
,
int
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h
浏览文件 @
14187b00
...
@@ -28,11 +28,6 @@ struct nvkm_disp_func {
...
@@ -28,11 +28,6 @@ struct nvkm_disp_func {
const
struct
nvkm_disp_oclass
*
(
*
root
)(
struct
nvkm_disp
*
);
const
struct
nvkm_disp_oclass
*
(
*
root
)(
struct
nvkm_disp
*
);
struct
{
void
(
*
vblank_init
)(
struct
nvkm_disp
*
,
int
head
);
void
(
*
vblank_fini
)(
struct
nvkm_disp
*
,
int
head
);
}
head
;
struct
{
struct
{
const
struct
nvkm_disp_func_outp
internal
;
const
struct
nvkm_disp_func_outp
internal
;
const
struct
nvkm_disp_func_outp
external
;
const
struct
nvkm_disp_func_outp
external
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录