Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c +2 −0 Original line number Diff line number Diff line Loading @@ -1254,6 +1254,8 @@ gf100_grctx_generate_main(struct gf100_gr *gr, struct gf100_grctx *info) grctx->bundle(info); grctx->pagepool(info); grctx->attrib(info); if (grctx->patch_ltc) grctx->patch_ltc(info); grctx->unkn(gr); gf100_grctx_generate_tpcid(gr); Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h +3 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ struct gf100_grctx_func { u32 attrib_nr; u32 alpha_nr_max; u32 alpha_nr; /* other patch buffer stuff */ void (*patch_ltc)(struct gf100_grctx *); }; extern const struct gf100_grctx_func gf100_grctx; Loading Loading @@ -80,6 +82,7 @@ extern const struct gf100_grctx_func gk20a_grctx; void gk104_grctx_generate_main(struct gf100_gr *, struct gf100_grctx *); void gk104_grctx_generate_bundle(struct gf100_grctx *); void gk104_grctx_generate_pagepool(struct gf100_grctx *); void gk104_grctx_generate_patch_ltc(struct gf100_grctx *); void gk104_grctx_generate_unkn(struct gf100_gr *); void gk104_grctx_generate_r418bb8(struct gf100_gr *); Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c +12 −0 Original line number Diff line number Diff line Loading @@ -840,6 +840,17 @@ gk104_grctx_pack_ppc[] = { * PGRAPH context implementation ******************************************************************************/ void gk104_grctx_generate_patch_ltc(struct gf100_grctx *info) { struct nvkm_device *device = info->gr->base.engine.subdev.device; u32 data0 = nvkm_rd32(device, 0x17e91c); u32 data1 = nvkm_rd32(device, 0x17e920); /*XXX: Figure out how to modify this correctly! */ mmio_wr32(info, 0x17e91c, data0); mmio_wr32(info, 0x17e920, data1); } void gk104_grctx_generate_bundle(struct gf100_grctx *info) { Loading Loading @@ -1005,4 +1016,5 @@ gk104_grctx = { .attrib_nr = 0x218, .alpha_nr_max = 0x7ff, .alpha_nr = 0x648, .patch_ltc = gk104_grctx_generate_patch_ltc, }; drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110.c +1 −0 Original line number Diff line number Diff line Loading @@ -830,4 +830,5 @@ gk110_grctx = { .attrib_nr = 0x218, .alpha_nr_max = 0x7ff, .alpha_nr = 0x648, .patch_ltc = gk104_grctx_generate_patch_ltc, }; drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110b.c +1 −0 Original line number Diff line number Diff line Loading @@ -91,4 +91,5 @@ gk110b_grctx = { .attrib_nr = 0x218, .alpha_nr_max = 0x7ff, .alpha_nr = 0x648, .patch_ltc = gk104_grctx_generate_patch_ltc, }; Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c +2 −0 Original line number Diff line number Diff line Loading @@ -1254,6 +1254,8 @@ gf100_grctx_generate_main(struct gf100_gr *gr, struct gf100_grctx *info) grctx->bundle(info); grctx->pagepool(info); grctx->attrib(info); if (grctx->patch_ltc) grctx->patch_ltc(info); grctx->unkn(gr); gf100_grctx_generate_tpcid(gr); Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h +3 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ struct gf100_grctx_func { u32 attrib_nr; u32 alpha_nr_max; u32 alpha_nr; /* other patch buffer stuff */ void (*patch_ltc)(struct gf100_grctx *); }; extern const struct gf100_grctx_func gf100_grctx; Loading Loading @@ -80,6 +82,7 @@ extern const struct gf100_grctx_func gk20a_grctx; void gk104_grctx_generate_main(struct gf100_gr *, struct gf100_grctx *); void gk104_grctx_generate_bundle(struct gf100_grctx *); void gk104_grctx_generate_pagepool(struct gf100_grctx *); void gk104_grctx_generate_patch_ltc(struct gf100_grctx *); void gk104_grctx_generate_unkn(struct gf100_gr *); void gk104_grctx_generate_r418bb8(struct gf100_gr *); Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c +12 −0 Original line number Diff line number Diff line Loading @@ -840,6 +840,17 @@ gk104_grctx_pack_ppc[] = { * PGRAPH context implementation ******************************************************************************/ void gk104_grctx_generate_patch_ltc(struct gf100_grctx *info) { struct nvkm_device *device = info->gr->base.engine.subdev.device; u32 data0 = nvkm_rd32(device, 0x17e91c); u32 data1 = nvkm_rd32(device, 0x17e920); /*XXX: Figure out how to modify this correctly! */ mmio_wr32(info, 0x17e91c, data0); mmio_wr32(info, 0x17e920, data1); } void gk104_grctx_generate_bundle(struct gf100_grctx *info) { Loading Loading @@ -1005,4 +1016,5 @@ gk104_grctx = { .attrib_nr = 0x218, .alpha_nr_max = 0x7ff, .alpha_nr = 0x648, .patch_ltc = gk104_grctx_generate_patch_ltc, };
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110.c +1 −0 Original line number Diff line number Diff line Loading @@ -830,4 +830,5 @@ gk110_grctx = { .attrib_nr = 0x218, .alpha_nr_max = 0x7ff, .alpha_nr = 0x648, .patch_ltc = gk104_grctx_generate_patch_ltc, };
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110b.c +1 −0 Original line number Diff line number Diff line Loading @@ -91,4 +91,5 @@ gk110b_grctx = { .attrib_nr = 0x218, .alpha_nr_max = 0x7ff, .alpha_nr = 0x648, .patch_ltc = gk104_grctx_generate_patch_ltc, };