Lines Matching defs:gr
31 gm200_grctx_generate_r419a3c(struct gf100_gr *gr)
33 struct nvkm_device *device = gr->base.engine.subdev.device;
38 gm200_grctx_generate_r418e94(struct gf100_gr *gr)
40 struct nvkm_device *device = gr->base.engine.subdev.device;
46 gm200_grctx_generate_smid_config(struct gf100_gr *gr)
48 struct nvkm_device *device = gr->base.engine.subdev.device;
49 const u32 dist_nr = DIV_ROUND_UP(gr->tpc_total, 4);
54 for (sm = 0; sm < gr->sm_nr; sm++) {
55 const u8 gpc = gr->sm[sm].gpc;
56 const u8 tpc = gr->sm[sm].tpc;
63 for (i = 0; i < gr->gpc_nr; i++)
68 gm200_grctx_generate_tpc_mask(struct gf100_gr *gr)
71 for (tmp = 0, i = 0; i < gr->gpc_nr; i++)
72 tmp |= ((1 << gr->tpc_nr[i]) - 1) << (i * gr->func->tpc_nr);
73 nvkm_wr32(gr->base.engine.subdev.device, 0x4041c4, tmp);
77 gm200_grctx_generate_r406500(struct gf100_gr *gr)
79 nvkm_wr32(gr->base.engine.subdev.device, 0x406500, 0x00000000);
83 gm200_grctx_generate_dist_skip_table(struct gf100_gr *gr)
85 struct nvkm_device *device = gr->base.engine.subdev.device;
89 for (gpc = 0; gpc < gr->gpc_nr; gpc++) {
90 for (ppc = 0; ppc < gr->func->ppc_nr; ppc++) {
91 u8 ppc_tpcs = gr->ppc_tpc_nr[gpc][ppc];
92 u8 ppc_tpcm = gr->ppc_tpc_mask[gpc][ppc];
93 while (ppc_tpcs-- > gr->ppc_tpc_min)
95 ppc_tpcm ^= gr->ppc_tpc_mask[gpc][ppc];