Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
43bc83b9
Commit
43bc83b9
authored
Feb 25, 2016
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau/gr/gm200: switch over to using sw_ctx from firmware
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
b774c40b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1 addition
and
317 deletions
+1
-317
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h
+0
-11
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.c
+1
-275
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm206.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm206.c
+0
-31
No files found.
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h
View file @
43bc83b9
...
...
@@ -214,15 +214,4 @@ extern const struct gf100_gr_init gm107_grctx_init_wwdx_0[];
extern
const
struct
gf100_gr_pack
gm200_grctx_pack_icmd
[];
extern
const
struct
gf100_gr_pack
gm200_grctx_pack_mthd
[];
extern
const
struct
gf100_gr_pack
gm200_grctx_pack_hub
[];
extern
const
struct
gf100_gr_init
gm200_grctx_init_prop_0
[];
extern
const
struct
gf100_gr_init
gm200_grctx_init_setup_0
[];
extern
const
struct
gf100_gr_init
gm200_grctx_init_gpm_0
[];
extern
const
struct
gf100_gr_init
gm200_grctx_init_gpc_unk_2
[];
extern
const
struct
gf100_gr_pack
gm200_grctx_pack_tpc
[];
extern
const
struct
gf100_gr_pack
gm200_grctx_pack_ppc
[];
#endif
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.c
View file @
43bc83b9
...
...
@@ -649,271 +649,6 @@ gm200_grctx_pack_mthd[] = {
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_fe_0
[]
=
{
{
0x404004
,
8
,
0x04
,
0x00000000
},
{
0x404024
,
1
,
0x04
,
0x0000e000
},
{
0x404028
,
8
,
0x04
,
0x00000000
},
{
0x4040a8
,
8
,
0x04
,
0x00000000
},
{
0x4040c8
,
1
,
0x04
,
0xf801008f
},
{
0x4040d0
,
6
,
0x04
,
0x00000000
},
{
0x4040f8
,
1
,
0x04
,
0x00000000
},
{
0x404100
,
10
,
0x04
,
0x00000000
},
{
0x404130
,
2
,
0x04
,
0x00000000
},
{
0x404150
,
1
,
0x04
,
0x0000002e
},
{
0x404154
,
2
,
0x04
,
0x00000800
},
{
0x404164
,
1
,
0x04
,
0x00000045
},
{
0x40417c
,
2
,
0x04
,
0x00000000
},
{
0x404194
,
1
,
0x04
,
0x33000700
},
{
0x4041a0
,
4
,
0x04
,
0x00000000
},
{
0x4041c4
,
2
,
0x04
,
0x00000000
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_ds_0
[]
=
{
{
0x405800
,
1
,
0x04
,
0x8f8001bf
},
{
0x405830
,
1
,
0x04
,
0x04001000
},
{
0x405834
,
1
,
0x04
,
0x08000000
},
{
0x405838
,
1
,
0x04
,
0x00010000
},
{
0x405854
,
1
,
0x04
,
0x00000000
},
{
0x405870
,
4
,
0x04
,
0x00000001
},
{
0x405a00
,
2
,
0x04
,
0x00000000
},
{
0x405a18
,
1
,
0x04
,
0x00000000
},
{
0x405a1c
,
1
,
0x04
,
0x000000ff
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_cwd_0
[]
=
{
{
0x405b00
,
1
,
0x04
,
0x00000000
},
{
0x405b10
,
1
,
0x04
,
0x00001000
},
{
0x405b20
,
1
,
0x04
,
0x04000000
},
{
0x405b60
,
6
,
0x04
,
0x00000000
},
{
0x405ba0
,
6
,
0x04
,
0x00000000
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_pd_0
[]
=
{
{
0x406020
,
1
,
0x04
,
0x17410001
},
{
0x406028
,
4
,
0x04
,
0x00000001
},
{
0x4064a8
,
1
,
0x04
,
0x00000000
},
{
0x4064ac
,
1
,
0x04
,
0x00003fff
},
{
0x4064b0
,
3
,
0x04
,
0x00000000
},
{
0x4064c0
,
1
,
0x04
,
0x80400280
},
{
0x4064c4
,
1
,
0x04
,
0x0400ffff
},
{
0x4064c8
,
1
,
0x04
,
0x01800780
},
{
0x4064cc
,
9
,
0x04
,
0x00000000
},
{
0x4064fc
,
1
,
0x04
,
0x0000022a
},
{
0x406500
,
1
,
0x04
,
0x00000000
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_be_0
[]
=
{
{
0x408800
,
1
,
0x04
,
0x32882a3c
},
{
0x408804
,
1
,
0x04
,
0x00000040
},
{
0x408808
,
1
,
0x04
,
0x1003e005
},
{
0x408840
,
1
,
0x04
,
0x00000e0b
},
{
0x408900
,
1
,
0x04
,
0xb080b801
},
{
0x408904
,
1
,
0x04
,
0x63038001
},
{
0x408908
,
1
,
0x04
,
0x12c8502f
},
{
0x408980
,
1
,
0x04
,
0x0000011d
},
{}
};
const
struct
gf100_gr_pack
gm200_grctx_pack_hub
[]
=
{
{
gf100_grctx_init_main_0
},
{
gm200_grctx_init_fe_0
},
{
gk110_grctx_init_pri_0
},
{
gk104_grctx_init_memfmt_0
},
{
gm200_grctx_init_ds_0
},
{
gm200_grctx_init_cwd_0
},
{
gm200_grctx_init_pd_0
},
{
gk208_grctx_init_rstr2d_0
},
{
gk104_grctx_init_scc_0
},
{
gm200_grctx_init_be_0
},
{}
};
const
struct
gf100_gr_init
gm200_grctx_init_prop_0
[]
=
{
{
0x418400
,
1
,
0x04
,
0x38e01e00
},
{
0x418404
,
1
,
0x04
,
0x70001fff
},
{
0x41840c
,
1
,
0x04
,
0x20001008
},
{
0x418410
,
2
,
0x04
,
0x0fff0fff
},
{
0x418418
,
1
,
0x04
,
0x07ff07ff
},
{
0x41841c
,
1
,
0x04
,
0x3feffbff
},
{
0x418450
,
6
,
0x04
,
0x00000000
},
{
0x418468
,
1
,
0x04
,
0x00000001
},
{
0x41846c
,
2
,
0x04
,
0x00000000
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_gpc_unk_1
[]
=
{
{
0x418600
,
1
,
0x04
,
0x0000007f
},
{
0x418684
,
1
,
0x04
,
0x0000001f
},
{
0x418700
,
1
,
0x04
,
0x00000002
},
{
0x418704
,
1
,
0x04
,
0x00000080
},
{
0x418708
,
1
,
0x04
,
0x40000000
},
{
0x41870c
,
2
,
0x04
,
0x00000000
},
{
0x418728
,
1
,
0x04
,
0x00010000
},
{}
};
const
struct
gf100_gr_init
gm200_grctx_init_setup_0
[]
=
{
{
0x418800
,
1
,
0x04
,
0x7006863a
},
{
0x418808
,
1
,
0x04
,
0x00000000
},
{
0x418810
,
1
,
0x04
,
0x00000000
},
{
0x418828
,
1
,
0x04
,
0x00000044
},
{
0x418830
,
1
,
0x04
,
0x10000001
},
{
0x4188d8
,
1
,
0x04
,
0x00000008
},
{
0x4188e0
,
1
,
0x04
,
0x01000000
},
{
0x4188e8
,
5
,
0x04
,
0x00000000
},
{
0x4188fc
,
1
,
0x04
,
0x20100058
},
{}
};
const
struct
gf100_gr_init
gm200_grctx_init_gpm_0
[]
=
{
{
0x418c10
,
8
,
0x04
,
0x00000000
},
{
0x418c40
,
1
,
0x04
,
0xffffffff
},
{
0x418c6c
,
1
,
0x04
,
0x00000001
},
{
0x418c80
,
1
,
0x04
,
0x20200000
},
{}
};
const
struct
gf100_gr_init
gm200_grctx_init_gpc_unk_2
[]
=
{
{
0x418e00
,
1
,
0x04
,
0x90040000
},
{
0x418e24
,
1
,
0x04
,
0x00000000
},
{
0x418e28
,
1
,
0x04
,
0x00000030
},
{
0x418e2c
,
1
,
0x04
,
0x00000100
},
{
0x418e30
,
3
,
0x04
,
0x00000000
},
{
0x418e40
,
22
,
0x04
,
0x00000000
},
{
0x418ea0
,
12
,
0x04
,
0x00000000
},
{}
};
static
const
struct
gf100_gr_pack
gm200_grctx_pack_gpc
[]
=
{
{
gm107_grctx_init_gpc_unk_0
},
{
gm200_grctx_init_prop_0
},
{
gm200_grctx_init_gpc_unk_1
},
{
gm200_grctx_init_setup_0
},
{
gf100_grctx_init_zcull_0
},
{
gk208_grctx_init_crstr_0
},
{
gm200_grctx_init_gpm_0
},
{
gm200_grctx_init_gpc_unk_2
},
{
gf100_grctx_init_gcc_0
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_pe_0
[]
=
{
{
0x419848
,
1
,
0x04
,
0x00000000
},
{
0x419864
,
1
,
0x04
,
0x00000029
},
{
0x419888
,
1
,
0x04
,
0x00000000
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_tex_0
[]
=
{
{
0x419a00
,
1
,
0x04
,
0x000100f0
},
{
0x419a04
,
1
,
0x04
,
0x00000005
},
{
0x419a08
,
1
,
0x04
,
0x00000621
},
{
0x419a0c
,
1
,
0x04
,
0x00320000
},
{
0x419a10
,
1
,
0x04
,
0x00000000
},
{
0x419a14
,
1
,
0x04
,
0x00000200
},
{
0x419a1c
,
1
,
0x04
,
0x0010c000
},
{
0x419a20
,
1
,
0x04
,
0x20008a00
},
{
0x419a30
,
1
,
0x04
,
0x00000001
},
{
0x419a3c
,
1
,
0x04
,
0x0000181e
},
{
0x419ac4
,
1
,
0x04
,
0x00000000
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_mpc_0
[]
=
{
{
0x419c00
,
1
,
0x04
,
0x0000009a
},
{
0x419c04
,
1
,
0x04
,
0x80000bd6
},
{
0x419c08
,
1
,
0x04
,
0x00000002
},
{
0x419c20
,
1
,
0x04
,
0x00000000
},
{
0x419c24
,
1
,
0x04
,
0x00084210
},
{
0x419c28
,
1
,
0x04
,
0x3efbefbe
},
{
0x419c2c
,
1
,
0x04
,
0x00000000
},
{
0x419c34
,
1
,
0x04
,
0x71ff1ff3
},
{
0x419c3c
,
1
,
0x04
,
0x00001919
},
{
0x419c50
,
1
,
0x04
,
0x00000005
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_l1c_0
[]
=
{
{
0x419c84
,
1
,
0x04
,
0x0000003e
},
{
0x419c90
,
1
,
0x04
,
0x0000000a
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_sm_0
[]
=
{
{
0x419e04
,
3
,
0x04
,
0x00000000
},
{
0x419e10
,
1
,
0x04
,
0x00001c02
},
{
0x419e44
,
1
,
0x04
,
0x00d3eff2
},
{
0x419e48
,
1
,
0x04
,
0x00000000
},
{
0x419e4c
,
1
,
0x04
,
0x0000007f
},
{
0x419e50
,
1
,
0x04
,
0x00000000
},
{
0x419e58
,
6
,
0x04
,
0x00000000
},
{
0x419e74
,
10
,
0x04
,
0x00000000
},
{
0x419eac
,
1
,
0x04
,
0x0001cf8b
},
{
0x419eb0
,
1
,
0x04
,
0x00030300
},
{
0x419eb8
,
1
,
0x04
,
0x40000000
},
{
0x419ef0
,
24
,
0x04
,
0x00000000
},
{
0x419f68
,
2
,
0x04
,
0x00000000
},
{
0x419f70
,
1
,
0x04
,
0x00000020
},
{
0x419f78
,
1
,
0x04
,
0x00010beb
},
{
0x419f7c
,
1
,
0x04
,
0x00000000
},
{}
};
const
struct
gf100_gr_pack
gm200_grctx_pack_tpc
[]
=
{
{
gm200_grctx_init_pe_0
},
{
gm200_grctx_init_tex_0
},
{
gm200_grctx_init_mpc_0
},
{
gm200_grctx_init_l1c_0
},
{
gm200_grctx_init_sm_0
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_pes_0
[]
=
{
{
0x41be24
,
1
,
0x04
,
0x0000000e
},
{}
};
static
const
struct
gf100_gr_init
gm200_grctx_init_cbm_0
[]
=
{
{
0x41bec0
,
1
,
0x04
,
0x00000000
},
{
0x41bec4
,
1
,
0x04
,
0x01030000
},
{
0x41bee4
,
1
,
0x04
,
0x00000000
},
{
0x41bef0
,
1
,
0x04
,
0x000003ff
},
{
0x41bef4
,
2
,
0x04
,
0x00000000
},
{}
};
const
struct
gf100_gr_pack
gm200_grctx_pack_ppc
[]
=
{
{
gm200_grctx_init_pes_0
},
{
gm200_grctx_init_cbm_0
},
{
gm107_grctx_init_wwdx_0
},
{}
};
/*******************************************************************************
* PGRAPH context implementation
******************************************************************************/
...
...
@@ -985,11 +720,7 @@ gm200_grctx_generate_main(struct gf100_gr *gr, struct gf100_grctx *info)
u32
tmp
;
int
i
;
gf100_gr_mmio
(
gr
,
grctx
->
hub
);
gf100_gr_mmio
(
gr
,
grctx
->
gpc
);
gf100_gr_mmio
(
gr
,
grctx
->
zcull
);
gf100_gr_mmio
(
gr
,
grctx
->
tpc
);
gf100_gr_mmio
(
gr
,
grctx
->
ppc
);
gf100_gr_mmio
(
gr
,
gr
->
fuc_sw_ctx
);
nvkm_wr32
(
device
,
0x404154
,
0x00000000
);
...
...
@@ -1028,11 +759,6 @@ const struct gf100_grctx_func
gm200_grctx
=
{
.
main
=
gm200_grctx_generate_main
,
.
unkn
=
gk104_grctx_generate_unkn
,
.
hub
=
gm200_grctx_pack_hub
,
.
gpc
=
gm200_grctx_pack_gpc
,
.
zcull
=
gf100_grctx_pack_zcull
,
.
tpc
=
gm200_grctx_pack_tpc
,
.
ppc
=
gm200_grctx_pack_ppc
,
.
icmd
=
gm200_grctx_pack_icmd
,
.
mthd
=
gm200_grctx_pack_mthd
,
.
bundle
=
gm107_grctx_generate_bundle
,
...
...
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm206.c
View file @
43bc83b9
...
...
@@ -23,41 +23,10 @@
*/
#include "ctxgf100.h"
static
const
struct
gf100_gr_init
gm206_grctx_init_gpc_unk_1
[]
=
{
{
0x418600
,
1
,
0x04
,
0x0000007f
},
{
0x418684
,
1
,
0x04
,
0x0000001f
},
{
0x418700
,
1
,
0x04
,
0x00000002
},
{
0x418704
,
1
,
0x04
,
0x00000080
},
{
0x418708
,
1
,
0x04
,
0x40000000
},
{
0x41870c
,
2
,
0x04
,
0x00000000
},
{
0x418728
,
1
,
0x04
,
0x00300020
},
{}
};
static
const
struct
gf100_gr_pack
gm206_grctx_pack_gpc
[]
=
{
{
gm107_grctx_init_gpc_unk_0
},
{
gm200_grctx_init_prop_0
},
{
gm206_grctx_init_gpc_unk_1
},
{
gm200_grctx_init_setup_0
},
{
gf100_grctx_init_zcull_0
},
{
gk208_grctx_init_crstr_0
},
{
gm200_grctx_init_gpm_0
},
{
gm200_grctx_init_gpc_unk_2
},
{
gf100_grctx_init_gcc_0
},
{}
};
const
struct
gf100_grctx_func
gm206_grctx
=
{
.
main
=
gm200_grctx_generate_main
,
.
unkn
=
gk104_grctx_generate_unkn
,
.
hub
=
gm200_grctx_pack_hub
,
.
gpc
=
gm206_grctx_pack_gpc
,
.
zcull
=
gf100_grctx_pack_zcull
,
.
tpc
=
gm200_grctx_pack_tpc
,
.
ppc
=
gm200_grctx_pack_ppc
,
.
icmd
=
gm200_grctx_pack_icmd
,
.
mthd
=
gm200_grctx_pack_mthd
,
.
bundle
=
gm107_grctx_generate_bundle
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment