Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
525230cb
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看板
提交
525230cb
编写于
5月 08, 2018
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/gr/gf100-: delete duplicated init code
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
04547482
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
10 addition
and
312 deletion
+10
-312
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c
+1
-77
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.c
+1
-76
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c
+1
-75
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c
+1
-76
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c
+1
-1
未找到文件。
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h
浏览文件 @
525230cb
...
...
@@ -172,7 +172,6 @@ void gf100_gr_init_400054(struct gf100_gr *);
void
gf117_gr_init_zcull
(
struct
gf100_gr
*
);
int
gk104_gr_init
(
struct
gf100_gr
*
);
void
gk104_gr_init_vsc_stream_master
(
struct
gf100_gr
*
);
void
gk104_gr_init_rop_active_fbps
(
struct
gf100_gr
*
);
void
gk104_gr_init_ppc_exceptions
(
struct
gf100_gr
*
);
...
...
@@ -190,7 +189,6 @@ int gm200_gr_rops(struct gf100_gr *);
void
gm200_gr_init_num_active_ltcs
(
struct
gf100_gr
*
);
void
gm200_gr_init_ds_hww_esr_2
(
struct
gf100_gr
*
);
int
gp100_gr_init
(
struct
gf100_gr
*
);
void
gp100_gr_init_rop_active_fbps
(
struct
gf100_gr
*
);
void
gp100_gr_init_fecs_exceptions
(
struct
gf100_gr
*
);
void
gp100_gr_init_shader_exceptions
(
struct
gf100_gr
*
,
int
,
int
);
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c
浏览文件 @
525230cb
...
...
@@ -426,82 +426,6 @@ gk104_gr_init_vsc_stream_master(struct gf100_gr *gr)
nvkm_wr32
(
device
,
GPC_UNIT
(
0
,
0x3018
),
0x00000001
);
}
int
gk104_gr_init
(
struct
gf100_gr
*
gr
)
{
struct
nvkm_device
*
device
=
gr
->
base
.
engine
.
subdev
.
device
;
int
gpc
,
tpc
,
rop
;
gr
->
func
->
init_gpc_mmu
(
gr
);
gf100_gr_mmio
(
gr
,
gr
->
func
->
mmio
);
if
(
gr
->
func
->
clkgate_pack
)
nvkm_therm_clkgate_init
(
gr
->
base
.
engine
.
subdev
.
device
->
therm
,
gr
->
func
->
clkgate_pack
);
gr
->
func
->
init_vsc_stream_master
(
gr
);
gr
->
func
->
init_zcull
(
gr
);
gr
->
func
->
init_num_active_ltcs
(
gr
);
gr
->
func
->
init_rop_active_fbps
(
gr
);
nvkm_wr32
(
device
,
0x400500
,
0x00010001
);
nvkm_wr32
(
device
,
0x400100
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40013c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400124
,
0x00000002
);
gr
->
func
->
init_fecs_exceptions
(
gr
);
nvkm_wr32
(
device
,
0x404000
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404600
,
0xc0000000
);
nvkm_wr32
(
device
,
0x408030
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404490
,
0xc0000000
);
nvkm_wr32
(
device
,
0x406018
,
0xc0000000
);
gr
->
func
->
init_sked_hww_esr
(
gr
);
nvkm_wr32
(
device
,
0x405840
,
0xc0000000
);
nvkm_wr32
(
device
,
0x405844
,
0x00ffffff
);
gr
->
func
->
init_419cc0
(
gr
);
gr
->
func
->
init_419eb4
(
gr
);
gr
->
func
->
init_ppc_exceptions
(
gr
);
for
(
gpc
=
0
;
gpc
<
gr
->
gpc_nr
;
gpc
++
)
{
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0420
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0900
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x1028
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0824
),
0xc0000000
);
for
(
tpc
=
0
;
tpc
<
gr
->
tpc_nr
[
gpc
];
tpc
++
)
{
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x508
),
0xffffffff
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x50c
),
0xffffffff
);
gr
->
func
->
init_tex_hww_esr
(
gr
,
gpc
,
tpc
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x084
),
0xc0000000
);
gr
->
func
->
init_shader_exceptions
(
gr
,
gpc
,
tpc
);
}
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c90
),
0xffffffff
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c94
),
0xffffffff
);
}
for
(
rop
=
0
;
rop
<
gr
->
rop_nr
;
rop
++
)
{
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x144
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x070
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x204
),
0xffffffff
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x208
),
0xffffffff
);
}
nvkm_wr32
(
device
,
0x400108
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400138
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400118
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400130
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40011c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400134
,
0xffffffff
);
gr
->
func
->
init_400054
(
gr
);
gf100_gr_zbc_init
(
gr
);
return
gf100_gr_init_ctxctl
(
gr
);
}
#include "fuc/hubgk104.fuc3.h"
static
struct
gf100_gr_ucode
...
...
@@ -524,7 +448,7 @@ gk104_gr_gpccs_ucode = {
static
const
struct
gf100_gr_func
gk104_gr
=
{
.
init
=
g
k104
_gr_init
,
.
init
=
g
f100
_gr_init
,
.
init_gpc_mmu
=
gf100_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c
浏览文件 @
525230cb
...
...
@@ -350,7 +350,7 @@ gk110_gr_init_419eb4(struct gf100_gr *gr)
static
const
struct
gf100_gr_func
gk110_gr
=
{
.
init
=
g
k104
_gr_init
,
.
init
=
g
f100
_gr_init
,
.
init_gpc_mmu
=
gf100_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.c
浏览文件 @
525230cb
...
...
@@ -102,7 +102,7 @@ gk110b_gr_pack_mmio[] = {
static
const
struct
gf100_gr_func
gk110b_gr
=
{
.
init
=
g
k104
_gr_init
,
.
init
=
g
f100
_gr_init
,
.
init_gpc_mmu
=
gf100_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.c
浏览文件 @
525230cb
...
...
@@ -161,7 +161,7 @@ gk208_gr_gpccs_ucode = {
static
const
struct
gf100_gr_func
gk208_gr
=
{
.
init
=
g
k104
_gr_init
,
.
init
=
g
f100
_gr_init
,
.
init_gpc_mmu
=
gf100_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.c
浏览文件 @
525230cb
...
...
@@ -369,81 +369,6 @@ gm107_gr_init_gpc_mmu(struct gf100_gr *gr)
nvkm_wr32
(
device
,
GPC_BCAST
(
0x08b8
),
nvkm_memory_addr
(
fb
->
mmu_rd
)
>>
8
);
}
static
int
gm107_gr_init
(
struct
gf100_gr
*
gr
)
{
struct
nvkm_device
*
device
=
gr
->
base
.
engine
.
subdev
.
device
;
int
gpc
,
tpc
,
rop
;
gr
->
func
->
init_gpc_mmu
(
gr
);
gf100_gr_mmio
(
gr
,
gr
->
func
->
mmio
);
gr
->
func
->
init_bios
(
gr
);
gr
->
func
->
init_vsc_stream_master
(
gr
);
gr
->
func
->
init_zcull
(
gr
);
gr
->
func
->
init_num_active_ltcs
(
gr
);
gr
->
func
->
init_rop_active_fbps
(
gr
);
nvkm_wr32
(
device
,
0x400500
,
0x00010001
);
nvkm_wr32
(
device
,
0x400100
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40013c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400124
,
0x00000002
);
gr
->
func
->
init_fecs_exceptions
(
gr
);
nvkm_wr32
(
device
,
0x404000
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404600
,
0xc0000000
);
nvkm_wr32
(
device
,
0x408030
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404490
,
0xc0000000
);
nvkm_wr32
(
device
,
0x406018
,
0xc0000000
);
gr
->
func
->
init_sked_hww_esr
(
gr
);
nvkm_wr32
(
device
,
0x405840
,
0xc0000000
);
nvkm_wr32
(
device
,
0x405844
,
0x00ffffff
);
gr
->
func
->
init_419cc0
(
gr
);
gr
->
func
->
init_ppc_exceptions
(
gr
);
for
(
gpc
=
0
;
gpc
<
gr
->
gpc_nr
;
gpc
++
)
{
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0420
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0900
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x1028
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0824
),
0xc0000000
);
for
(
tpc
=
0
;
tpc
<
gr
->
tpc_nr
[
gpc
];
tpc
++
)
{
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x508
),
0xffffffff
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x50c
),
0xffffffff
);
gr
->
func
->
init_tex_hww_esr
(
gr
,
gpc
,
tpc
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x084
),
0xc0000000
);
gr
->
func
->
init_504430
(
gr
,
gpc
,
tpc
);
gr
->
func
->
init_shader_exceptions
(
gr
,
gpc
,
tpc
);
}
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c90
),
0xffffffff
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c94
),
0xffffffff
);
}
for
(
rop
=
0
;
rop
<
gr
->
rop_nr
;
rop
++
)
{
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x144
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x070
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x204
),
0xffffffff
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x208
),
0xffffffff
);
}
nvkm_wr32
(
device
,
0x400108
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400138
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400118
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400130
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40011c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400134
,
0xffffffff
);
gr
->
func
->
init_400054
(
gr
);
gf100_gr_zbc_init
(
gr
);
return
gf100_gr_init_ctxctl
(
gr
);
}
#include "fuc/hubgm107.fuc5.h"
static
struct
gf100_gr_ucode
...
...
@@ -466,7 +391,7 @@ gm107_gr_gpccs_ucode = {
static
const
struct
gf100_gr_func
gm107_gr
=
{
.
init
=
g
m107
_gr_init
,
.
init
=
g
f100
_gr_init
,
.
init_gpc_mmu
=
gm107_gr_init_gpc_mmu
,
.
init_bios
=
gm107_gr_init_bios
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c
浏览文件 @
525230cb
...
...
@@ -77,80 +77,6 @@ gm200_gr_init_rop_active_fbps(struct gf100_gr *gr)
nvkm_mask
(
device
,
0x408958
,
0x0000000f
,
fbp_count
);
/* crop */
}
static
int
gm200_gr_init
(
struct
gf100_gr
*
gr
)
{
struct
nvkm_device
*
device
=
gr
->
base
.
engine
.
subdev
.
device
;
int
gpc
,
tpc
,
rop
;
gr
->
func
->
init_gpc_mmu
(
gr
);
gf100_gr_mmio
(
gr
,
gr
->
fuc_sw_nonctx
);
gr
->
func
->
init_bios
(
gr
);
gr
->
func
->
init_vsc_stream_master
(
gr
);
gr
->
func
->
init_zcull
(
gr
);
gr
->
func
->
init_num_active_ltcs
(
gr
);
gr
->
func
->
init_rop_active_fbps
(
gr
);
nvkm_wr32
(
device
,
0x400500
,
0x00010001
);
nvkm_wr32
(
device
,
0x400100
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40013c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400124
,
0x00000002
);
gr
->
func
->
init_fecs_exceptions
(
gr
);
gr
->
func
->
init_ds_hww_esr_2
(
gr
);
nvkm_wr32
(
device
,
0x404000
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404600
,
0xc0000000
);
nvkm_wr32
(
device
,
0x408030
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404490
,
0xc0000000
);
nvkm_wr32
(
device
,
0x406018
,
0xc0000000
);
gr
->
func
->
init_sked_hww_esr
(
gr
);
nvkm_wr32
(
device
,
0x405840
,
0xc0000000
);
nvkm_wr32
(
device
,
0x405844
,
0x00ffffff
);
gr
->
func
->
init_419cc0
(
gr
);
gr
->
func
->
init_ppc_exceptions
(
gr
);
for
(
gpc
=
0
;
gpc
<
gr
->
gpc_nr
;
gpc
++
)
{
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0420
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0900
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x1028
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0824
),
0xc0000000
);
for
(
tpc
=
0
;
tpc
<
gr
->
tpc_nr
[
gpc
];
tpc
++
)
{
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x508
),
0xffffffff
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x50c
),
0xffffffff
);
gr
->
func
->
init_tex_hww_esr
(
gr
,
gpc
,
tpc
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x084
),
0xc0000000
);
gr
->
func
->
init_504430
(
gr
,
gpc
,
tpc
);
gr
->
func
->
init_shader_exceptions
(
gr
,
gpc
,
tpc
);
}
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c90
),
0xffffffff
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c94
),
0xffffffff
);
}
for
(
rop
=
0
;
rop
<
gr
->
rop_nr
;
rop
++
)
{
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x144
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x070
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x204
),
0xffffffff
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x208
),
0xffffffff
);
}
nvkm_wr32
(
device
,
0x400108
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400138
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400118
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400130
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40011c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400134
,
0xffffffff
);
gr
->
func
->
init_400054
(
gr
);
gf100_gr_zbc_init
(
gr
);
return
gf100_gr_init_ctxctl
(
gr
);
}
int
gm200_gr_new_
(
const
struct
gf100_gr_func
*
func
,
struct
nvkm_device
*
device
,
int
index
,
struct
nvkm_gr
**
pgr
)
...
...
@@ -191,7 +117,7 @@ gm200_gr_new_(const struct gf100_gr_func *func, struct nvkm_device *device,
static
const
struct
gf100_gr_func
gm200_gr
=
{
.
init
=
g
m2
00_gr_init
,
.
init
=
g
f1
00_gr_init
,
.
init_gpc_mmu
=
gm200_gr_init_gpc_mmu
,
.
init_bios
=
gm107_gr_init_bios
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c
浏览文件 @
525230cb
...
...
@@ -62,84 +62,9 @@ gp100_gr_init_rop_active_fbps(struct gf100_gr *gr)
nvkm_mask
(
device
,
0x408958
,
0x0000000f
,
fbp_count
);
/* crop */
}
int
gp100_gr_init
(
struct
gf100_gr
*
gr
)
{
struct
nvkm_device
*
device
=
gr
->
base
.
engine
.
subdev
.
device
;
int
gpc
,
tpc
,
rop
;
gr
->
func
->
init_gpc_mmu
(
gr
);
gf100_gr_mmio
(
gr
,
gr
->
fuc_sw_nonctx
);
gr
->
func
->
init_vsc_stream_master
(
gr
);
gr
->
func
->
init_zcull
(
gr
);
gr
->
func
->
init_num_active_ltcs
(
gr
);
gr
->
func
->
init_rop_active_fbps
(
gr
);
if
(
gr
->
func
->
init_swdx_pes_mask
)
gr
->
func
->
init_swdx_pes_mask
(
gr
);
nvkm_wr32
(
device
,
0x400500
,
0x00010001
);
nvkm_wr32
(
device
,
0x400100
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40013c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400124
,
0x00000002
);
gr
->
func
->
init_fecs_exceptions
(
gr
);
gr
->
func
->
init_ds_hww_esr_2
(
gr
);
nvkm_wr32
(
device
,
0x404000
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404600
,
0xc0000000
);
nvkm_wr32
(
device
,
0x408030
,
0xc0000000
);
nvkm_wr32
(
device
,
0x404490
,
0xc0000000
);
nvkm_wr32
(
device
,
0x406018
,
0xc0000000
);
gr
->
func
->
init_sked_hww_esr
(
gr
);
nvkm_wr32
(
device
,
0x405840
,
0xc0000000
);
nvkm_wr32
(
device
,
0x405844
,
0x00ffffff
);
gr
->
func
->
init_419cc0
(
gr
);
if
(
gr
->
func
->
init_419c9c
)
gr
->
func
->
init_419c9c
(
gr
);
gr
->
func
->
init_ppc_exceptions
(
gr
);
for
(
gpc
=
0
;
gpc
<
gr
->
gpc_nr
;
gpc
++
)
{
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0420
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0900
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x1028
),
0xc0000000
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x0824
),
0xc0000000
);
for
(
tpc
=
0
;
tpc
<
gr
->
tpc_nr
[
gpc
];
tpc
++
)
{
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x508
),
0xffffffff
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x50c
),
0xffffffff
);
gr
->
func
->
init_tex_hww_esr
(
gr
,
gpc
,
tpc
);
nvkm_wr32
(
device
,
TPC_UNIT
(
gpc
,
tpc
,
0x084
),
0xc0000000
);
gr
->
func
->
init_504430
(
gr
,
gpc
,
gpc
);
gr
->
func
->
init_shader_exceptions
(
gr
,
gpc
,
tpc
);
}
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c90
),
0xffffffff
);
nvkm_wr32
(
device
,
GPC_UNIT
(
gpc
,
0x2c94
),
0xffffffff
);
}
for
(
rop
=
0
;
rop
<
gr
->
rop_nr
;
rop
++
)
{
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x144
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x070
),
0x40000000
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x204
),
0xffffffff
);
nvkm_wr32
(
device
,
ROP_UNIT
(
rop
,
0x208
),
0xffffffff
);
}
nvkm_wr32
(
device
,
0x400108
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400138
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400118
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400130
,
0xffffffff
);
nvkm_wr32
(
device
,
0x40011c
,
0xffffffff
);
nvkm_wr32
(
device
,
0x400134
,
0xffffffff
);
gf100_gr_zbc_init
(
gr
);
return
gf100_gr_init_ctxctl
(
gr
);
}
static
const
struct
gf100_gr_func
gp100_gr
=
{
.
init
=
g
p
100_gr_init
,
.
init
=
g
f
100_gr_init
,
.
init_gpc_mmu
=
gm200_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c
浏览文件 @
525230cb
...
...
@@ -42,7 +42,7 @@ gp102_gr_init_swdx_pes_mask(struct gf100_gr *gr)
static
const
struct
gf100_gr_func
gp102_gr
=
{
.
init
=
g
p
100_gr_init
,
.
init
=
g
f
100_gr_init
,
.
init_gpc_mmu
=
gm200_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c
浏览文件 @
525230cb
...
...
@@ -28,7 +28,7 @@
static
const
struct
gf100_gr_func
gp107_gr
=
{
.
init
=
g
p
100_gr_init
,
.
init
=
g
f
100_gr_init
,
.
init_gpc_mmu
=
gm200_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c
浏览文件 @
525230cb
...
...
@@ -27,7 +27,7 @@
static
const
struct
gf100_gr_func
gp10b_gr
=
{
.
init
=
g
p
100_gr_init
,
.
init
=
g
f
100_gr_init
,
.
init_gpc_mmu
=
gm200_gr_init_gpc_mmu
,
.
init_vsc_stream_master
=
gk104_gr_init_vsc_stream_master
,
.
init_zcull
=
gf117_gr_init_zcull
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录