Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
f9d5cbb3
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看板
提交
f9d5cbb3
编写于
7月 09, 2016
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/disp/gp100: initial support
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
cd0f407c
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
162 addition
and
0 deletion
+162
-0
drivers/gpu/drm/nouveau/include/nvif/class.h
drivers/gpu/drm/nouveau/include/nvif/class.h
+2
-0
drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h
drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h
+1
-0
drivers/gpu/drm/nouveau/nouveau_display.c
drivers/gpu/drm/nouveau/nouveau_display.c
+1
-0
drivers/gpu/drm/nouveau/nv50_display.c
drivers/gpu/drm/nouveau/nv50_display.c
+1
-0
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/engine/disp/Kbuild
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
+3
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp100.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp100.c
+38
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.h
+2
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
+54
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c
+58
-0
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h
+1
-0
未找到文件。
drivers/gpu/drm/nouveau/include/nvif/class.h
浏览文件 @
f9d5cbb3
...
...
@@ -50,6 +50,7 @@
#define GK110_DISP
/* cl5070.h */
0x00009270
#define GM107_DISP
/* cl5070.h */
0x00009470
#define GM200_DISP
/* cl5070.h */
0x00009570
#define GP100_DISP
/* cl5070.h */
0x00009770
#define NV31_MPEG 0x00003174
#define G82_MPEG 0x00008274
...
...
@@ -86,6 +87,7 @@
#define GK110_DISP_CORE_CHANNEL_DMA
/* cl507d.h */
0x0000927d
#define GM107_DISP_CORE_CHANNEL_DMA
/* cl507d.h */
0x0000947d
#define GM200_DISP_CORE_CHANNEL_DMA
/* cl507d.h */
0x0000957d
#define GP100_DISP_CORE_CHANNEL_DMA
/* cl507d.h */
0x0000977d
#define NV50_DISP_OVERLAY_CHANNEL_DMA
/* cl507e.h */
0x0000507e
#define G82_DISP_OVERLAY_CHANNEL_DMA
/* cl507e.h */
0x0000827e
...
...
drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h
浏览文件 @
f9d5cbb3
...
...
@@ -32,4 +32,5 @@ int gk104_disp_new(struct nvkm_device *, int, struct nvkm_disp **);
int
gk110_disp_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_disp
**
);
int
gm107_disp_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_disp
**
);
int
gm200_disp_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_disp
**
);
int
gp100_disp_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_disp
**
);
#endif
drivers/gpu/drm/nouveau/nouveau_display.c
浏览文件 @
f9d5cbb3
...
...
@@ -495,6 +495,7 @@ nouveau_display_create(struct drm_device *dev)
if
(
nouveau_modeset
!=
2
&&
drm
->
vbios
.
dcb
.
entries
)
{
static
const
u16
oclass
[]
=
{
GP100_DISP
,
GM200_DISP
,
GM107_DISP
,
GK110_DISP
,
...
...
drivers/gpu/drm/nouveau/nv50_display.c
浏览文件 @
f9d5cbb3
...
...
@@ -297,6 +297,7 @@ nv50_core_create(struct nvif_device *device, struct nvif_object *disp,
.
pushbuf
=
0xb0007d00
,
};
static
const
s32
oclass
[]
=
{
GP100_DISP_CORE_CHANNEL_DMA
,
GM200_DISP_CORE_CHANNEL_DMA
,
GM107_DISP_CORE_CHANNEL_DMA
,
GK110_DISP_CORE_CHANNEL_DMA
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
浏览文件 @
f9d5cbb3
...
...
@@ -2169,6 +2169,7 @@ nv130_chipset = {
.
timer
=
gk20a_timer_new
,
.
top
=
gk104_top_new
,
.
dma
=
gf119_dma_new
,
.
disp
=
gp100_disp_new
,
};
static
int
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
浏览文件 @
f9d5cbb3
...
...
@@ -10,6 +10,7 @@ nvkm-y += nvkm/engine/disp/gk104.o
nvkm-y += nvkm/engine/disp/gk110.o
nvkm-y += nvkm/engine/disp/gm107.o
nvkm-y += nvkm/engine/disp/gm200.o
nvkm-y += nvkm/engine/disp/gp100.o
nvkm-y += nvkm/engine/disp/outp.o
nvkm-y += nvkm/engine/disp/outpdp.o
...
...
@@ -45,6 +46,7 @@ nvkm-y += nvkm/engine/disp/rootgk104.o
nvkm-y += nvkm/engine/disp/rootgk110.o
nvkm-y += nvkm/engine/disp/rootgm107.o
nvkm-y += nvkm/engine/disp/rootgm200.o
nvkm-y += nvkm/engine/disp/rootgp100.o
nvkm-y += nvkm/engine/disp/channv50.o
nvkm-y += nvkm/engine/disp/changf119.o
...
...
@@ -70,6 +72,7 @@ nvkm-y += nvkm/engine/disp/coregk104.o
nvkm-y += nvkm/engine/disp/coregk110.o
nvkm-y += nvkm/engine/disp/coregm107.o
nvkm-y += nvkm/engine/disp/coregm200.o
nvkm-y += nvkm/engine/disp/coregp100.o
nvkm-y += nvkm/engine/disp/ovlynv50.o
nvkm-y += nvkm/engine/disp/ovlyg84.o
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp100.c
0 → 100644
浏览文件 @
f9d5cbb3
/*
* Copyright 2015 Red Hat Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Authors: Ben Skeggs <bskeggs@redhat.com>
*/
#include "dmacnv50.h"
#include "rootnv50.h"
#include <nvif/class.h>
const
struct
nv50_disp_dmac_oclass
gp100_disp_core_oclass
=
{
.
base
.
oclass
=
GP100_DISP_CORE_CHANNEL_DMA
,
.
base
.
minver
=
0
,
.
base
.
maxver
=
0
,
.
ctor
=
nv50_disp_core_new
,
.
func
=
&
gf119_disp_core_func
,
.
mthd
=
&
gk104_disp_core_chan_mthd
,
.
chid
=
0
,
};
drivers/gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.h
浏览文件 @
f9d5cbb3
...
...
@@ -88,4 +88,6 @@ extern const struct nv50_disp_dmac_oclass gk110_disp_base_oclass;
extern
const
struct
nv50_disp_dmac_oclass
gm107_disp_core_oclass
;
extern
const
struct
nv50_disp_dmac_oclass
gm200_disp_core_oclass
;
extern
const
struct
nv50_disp_dmac_oclass
gp100_disp_core_oclass
;
#endif
drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c
0 → 100644
浏览文件 @
f9d5cbb3
/*
* Copyright 2015 Red Hat Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Authors: Ben Skeggs <bskeggs@redhat.com>
*/
#include "nv50.h"
#include "rootnv50.h"
static
const
struct
nv50_disp_func
gp100_disp
=
{
.
intr
=
gf119_disp_intr
,
.
uevent
=
&
gf119_disp_chan_uevent
,
.
super
=
gf119_disp_intr_supervisor
,
.
root
=
&
gp100_disp_root_oclass
,
.
head
.
vblank_init
=
gf119_disp_vblank_init
,
.
head
.
vblank_fini
=
gf119_disp_vblank_fini
,
.
head
.
scanoutpos
=
gf119_disp_root_scanoutpos
,
.
outp
.
internal
.
crt
=
nv50_dac_output_new
,
.
outp
.
internal
.
tmds
=
nv50_sor_output_new
,
.
outp
.
internal
.
lvds
=
nv50_sor_output_new
,
.
outp
.
internal
.
dp
=
gm200_sor_dp_new
,
.
dac
.
nr
=
3
,
.
dac
.
power
=
nv50_dac_power
,
.
dac
.
sense
=
nv50_dac_sense
,
.
sor
.
nr
=
4
,
.
sor
.
power
=
nv50_sor_power
,
.
sor
.
hda_eld
=
gf119_hda_eld
,
.
sor
.
hdmi
=
gk104_hdmi_ctrl
,
.
sor
.
magic
=
gm200_sor_magic
,
};
int
gp100_disp_new
(
struct
nvkm_device
*
device
,
int
index
,
struct
nvkm_disp
**
pdisp
)
{
return
gf119_disp_new_
(
&
gp100_disp
,
device
,
index
,
pdisp
);
}
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c
0 → 100644
浏览文件 @
f9d5cbb3
/*
* Copyright 2015 Red Hat Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Authors: Ben Skeggs <bskeggs@redhat.com>
*/
#include "rootnv50.h"
#include "dmacnv50.h"
#include <nvif/class.h>
static
const
struct
nv50_disp_root_func
gp100_disp_root
=
{
.
init
=
gf119_disp_root_init
,
.
fini
=
gf119_disp_root_fini
,
.
dmac
=
{
&
gp100_disp_core_oclass
,
&
gk110_disp_base_oclass
,
&
gk104_disp_ovly_oclass
,
},
.
pioc
=
{
&
gk104_disp_oimm_oclass
,
&
gk104_disp_curs_oclass
,
},
};
static
int
gp100_disp_root_new
(
struct
nvkm_disp
*
disp
,
const
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
{
return
nv50_disp_root_new_
(
&
gp100_disp_root
,
disp
,
oclass
,
data
,
size
,
pobject
);
}
const
struct
nvkm_disp_oclass
gp100_disp_root_oclass
=
{
.
base
.
oclass
=
GP100_DISP
,
.
base
.
minver
=
-
1
,
.
base
.
maxver
=
-
1
,
.
ctor
=
gp100_disp_root_new
,
};
drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h
浏览文件 @
f9d5cbb3
...
...
@@ -40,4 +40,5 @@ extern const struct nvkm_disp_oclass gk104_disp_root_oclass;
extern
const
struct
nvkm_disp_oclass
gk110_disp_root_oclass
;
extern
const
struct
nvkm_disp_oclass
gm107_disp_root_oclass
;
extern
const
struct
nvkm_disp_oclass
gm200_disp_root_oclass
;
extern
const
struct
nvkm_disp_oclass
gp100_disp_root_oclass
;
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录