Lines Matching defs:gr
44 struct gf100_gr *gr = chan->gr;
45 const struct gf100_grctx_func *grctx = gr->func->grctx;
49 u32 size = grctx->alpha_nr_max * gr->tpc_total;
58 for (gpc = 0; gpc < gr->gpc_nr; gpc++) {
59 for (ppc = 0; ppc < gr->func->ppc_nr; ppc++, n++) {
60 const u32 as = alpha * gr->ppc_tpc_nr[gpc][ppc];
61 const u32 bs = attrib * gr->ppc_tpc_max;
65 if (!(gr->ppc_mask[gpc] & (1 << ppc)))
71 bo += grctx->attrib_nr_max * gr->ppc_tpc_max;
74 ao += grctx->alpha_nr_max * gr->ppc_tpc_nr[gpc][ppc];
93 gp100_grctx_generate_attrib_cb_size(struct gf100_gr *gr)
95 const struct gf100_grctx_func *grctx = gr->func->grctx;
96 u32 size = grctx->alpha_nr_max * gr->tpc_total;
99 for (gpc = 0; gpc < gr->gpc_nr; gpc++)
100 size += grctx->attrib_nr_max * gr->func->ppc_nr * gr->ppc_tpc_max;
106 gp100_grctx_generate_smid_config(struct gf100_gr *gr)
108 struct nvkm_device *device = gr->base.engine.subdev.device;
109 const u32 dist_nr = DIV_ROUND_UP(gr->tpc_total, 4);
113 for (sm = 0; sm < gr->sm_nr; sm++) {
114 const u8 gpc = gr->sm[sm].gpc;
115 const u8 tpc = gr->sm[sm].tpc;
117 gpcs[gpc + (gr->func->gpc_nr * (tpc / 4))] |= sm << ((tpc % 4) * 8);