Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c +10 −2 Original line number Diff line number Diff line Loading @@ -702,6 +702,13 @@ gf100_gr_pack_mmio[] = { * PGRAPH engine/subdev functions ******************************************************************************/ int gf100_gr_rops(struct gf100_gr *gr) { struct nvkm_device *device = gr->base.engine.subdev.device; return (nvkm_rd32(device, 0x409604) & 0x001f0000) >> 16; } void gf100_gr_zbc_init(struct gf100_gr *gr) { Loading Loading @@ -1633,7 +1640,7 @@ gf100_gr_oneinit(struct nvkm_gr *base) nvkm_wo32(gr->unk4188b8, i, 0x00000010); nvkm_done(gr->unk4188b8); gr->rop_nr = (nvkm_rd32(device, 0x409604) & 0x001f0000) >> 16; gr->rop_nr = gr->func->rops(gr); gr->gpc_nr = nvkm_rd32(device, 0x409604) & 0x0000001f; for (i = 0; i < gr->gpc_nr; i++) { gr->tpc_nr[i] = nvkm_rd32(device, GPC_UNIT(i, 0x2608)); Loading Loading @@ -1946,6 +1953,7 @@ gf100_gr = { .mmio = gf100_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf100_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h +2 −0 Original line number Diff line number Diff line Loading @@ -129,12 +129,14 @@ struct gf100_gr_func { struct { struct gf100_gr_ucode *ucode; } gpccs; int (*rops)(struct gf100_gr *); int ppc_nr; const struct gf100_grctx_func *grctx; struct nvkm_sclass sclass[]; }; int gf100_gr_init(struct gf100_gr *); int gf100_gr_rops(struct gf100_gr *); int gk104_gr_init(struct gf100_gr *); Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/gf104.c +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ gf104_gr = { .mmio = gf104_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf104_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/gf108.c +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ gf108_gr = { .mmio = gf108_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf108_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.c +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ gf110_gr = { .mmio = gf110_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf110_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c +10 −2 Original line number Diff line number Diff line Loading @@ -702,6 +702,13 @@ gf100_gr_pack_mmio[] = { * PGRAPH engine/subdev functions ******************************************************************************/ int gf100_gr_rops(struct gf100_gr *gr) { struct nvkm_device *device = gr->base.engine.subdev.device; return (nvkm_rd32(device, 0x409604) & 0x001f0000) >> 16; } void gf100_gr_zbc_init(struct gf100_gr *gr) { Loading Loading @@ -1633,7 +1640,7 @@ gf100_gr_oneinit(struct nvkm_gr *base) nvkm_wo32(gr->unk4188b8, i, 0x00000010); nvkm_done(gr->unk4188b8); gr->rop_nr = (nvkm_rd32(device, 0x409604) & 0x001f0000) >> 16; gr->rop_nr = gr->func->rops(gr); gr->gpc_nr = nvkm_rd32(device, 0x409604) & 0x0000001f; for (i = 0; i < gr->gpc_nr; i++) { gr->tpc_nr[i] = nvkm_rd32(device, GPC_UNIT(i, 0x2608)); Loading Loading @@ -1946,6 +1953,7 @@ gf100_gr = { .mmio = gf100_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf100_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h +2 −0 Original line number Diff line number Diff line Loading @@ -129,12 +129,14 @@ struct gf100_gr_func { struct { struct gf100_gr_ucode *ucode; } gpccs; int (*rops)(struct gf100_gr *); int ppc_nr; const struct gf100_grctx_func *grctx; struct nvkm_sclass sclass[]; }; int gf100_gr_init(struct gf100_gr *); int gf100_gr_rops(struct gf100_gr *); int gk104_gr_init(struct gf100_gr *); Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf104.c +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ gf104_gr = { .mmio = gf104_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf104_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf108.c +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ gf108_gr = { .mmio = gf108_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf108_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.c +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ gf110_gr = { .mmio = gf110_gr_pack_mmio, .fecs.ucode = &gf100_gr_fecs_ucode, .gpccs.ucode = &gf100_gr_gpccs_ucode, .rops = gf100_gr_rops, .grctx = &gf110_grctx, .sclass = { { -1, -1, FERMI_TWOD_A }, Loading