summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2018-05-08 12:39:46 +0200
committerBen Skeggs <bskeggs@redhat.com>2018-05-18 07:01:24 +0200
commite7163b192226206bc350a09a52603bd103a5ff6a (patch)
tree92025e3fc25b1958dec0d973002b80b31016d680 /drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c
parentdrm/nouveau/gr/gf100-: virtualise dist_skip_table + improve algorithm (diff)
downloadlinux-e7163b192226206bc350a09a52603bd103a5ff6a.tar.xz
linux-e7163b192226206bc350a09a52603bd103a5ff6a.zip
drm/nouveau/gr/gf100-: virtualise r406500
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c
index cdf9d60683e0..aa5fff3c0d74 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c
@@ -930,6 +930,12 @@ gm107_grctx_generate_attrib(struct gf100_grctx *info)
}
}
+static void
+gm107_grctx_generate_r406500(struct gf100_gr *gr)
+{
+ nvkm_wr32(gr->base.engine.subdev.device, 0x406500, 0x00000001);
+}
+
void
gm107_grctx_generate_sm_id(struct gf100_gr *gr, int gpc, int tpc, int sm)
{
@@ -961,8 +967,6 @@ gm107_grctx_generate_main(struct gf100_gr *gr, struct gf100_grctx *info)
gf100_grctx_generate_floorsweep(gr);
- nvkm_wr32(device, 0x406500, 0x00000001);
-
nvkm_wr32(device, 0x405b00, (gr->tpc_total << 8) | gr->gpc_nr);
gf100_gr_icmd(gr, grctx->icmd);
@@ -1002,4 +1006,5 @@ gm107_grctx = {
.rop_mapping = gf117_grctx_generate_rop_mapping,
.alpha_beta_tables = gk104_grctx_generate_alpha_beta_tables,
.dist_skip_table = gf117_grctx_generate_dist_skip_table,
+ .r406500 = gm107_grctx_generate_r406500,
};