Lines Matching defs:gpc

28 gv100_gr_trap_sm(struct gf100_gr *gr, int gpc, int tpc, int sm)
32 u32 werr = nvkm_rd32(device, TPC_UNIT(gpc, tpc, 0x730 + (sm * 0x80)));
33 u32 gerr = nvkm_rd32(device, TPC_UNIT(gpc, tpc, 0x734 + (sm * 0x80)));
42 gpc, tpc, sm, gerr, glob, werr, warp ? warp->name : "");
44 nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x730 + sm * 0x80), 0x00000000);
45 nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x734 + sm * 0x80), gerr);
49 gv100_gr_trap_mp(struct gf100_gr *gr, int gpc, int tpc)
51 gv100_gr_trap_sm(gr, gpc, tpc, 0);
52 gv100_gr_trap_sm(gr, gpc, tpc, 1);
64 gv100_gr_init_shader_exceptions(struct gf100_gr *gr, int gpc, int tpc)
69 nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x610), 0x00000001);
70 nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x72c + sm), 0x00000004);
75 gv100_gr_init_504430(struct gf100_gr *gr, int gpc, int tpc)
78 nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x430), 0x403f0000);
89 gv100_gr_nonpes_aware_tpc(struct gf100_gr *gr, u32 gpc, u32 tpc)
93 for (pes = 0; pes < gr->ppc_nr[gpc]; pes++) {
94 if (gr->ppc_tpc_mask[gpc][pes] & BIT(tpc))
97 tpc_new += gr->ppc_tpc_nr[gpc][pes];
100 temp = (BIT(tpc) - 1) & gr->ppc_tpc_mask[gpc][pes];
121 u32 gpc;
135 for (gpc = 0; gpc < gr->gpc_nr; gpc++) {
136 num_tpc_mask = gpc_tpc_mask[gpc];
138 if ((gpc == disable_gpc) && num_tpc_mask & BIT(disable_tpc)) {
149 num_tpc_gpc[gpc] = hweight32(num_tpc_mask);
150 average_tpcs += num_tpc_gpc[gpc];
153 max_tpc_gpc = num_tpc_gpc[gpc] > max_tpc_gpc ? num_tpc_gpc[gpc] : max_tpc_gpc;
160 scg_gpc_pix_perf = scale_factor * num_tpc_gpc[gpc] / gr->tpc_nr[gpc];
165 for (pes = 0; pes < gr->ppc_nr[gpc]; pes++) {
167 num_tpc_mask = gr->ppc_tpc_mask[gpc][pes] & gpc_tpc_mask[gpc];
169 if ((gpc == disable_gpc) && (num_tpc_mask & BIT(disable_tpc))) {
194 for (gpc = 0; gpc < gr->gpc_nr; gpc++) {
195 diff = average_tpcs - scale_factor * num_tpc_gpc[gpc];
231 u32 gpc, tpc, pes, gtpc;
242 for (gpc = 0; gpc < gr->gpc_nr; gpc++) {
243 for (pes = 0; pes < gr->ppc_nr[gpc]; pes++)
244 gpc_tpc_mask[gpc] |= gr->ppc_tpc_mask[gpc][pes];
248 for (maxperf = -1, gpc = 0; gpc < gr->gpc_nr; gpc++) {
249 for_each_set_bit(tpc, &gpc_tpc_mask[gpc], gr->tpc_nr[gpc]) {
250 ret = gv100_gr_scg_estimate_perf(gr, gpc_tpc_mask, gpc, tpc, &perf);
257 gpc_table[gtpc] = gpc;
268 gr->sm[gtpc].gpc = gpc_table[gtpc];