瀏覽代碼

drm/nouveau/gr/gm200-: fix bad hardcoding of a max-tpcs-per-gpc value

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 9 年之前
父節點
當前提交
06d4f26cc3
共有 2 個文件被更改,包括 3 次插入2 次删除
  1. 1 1
      drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.c
  2. 2 1
      drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h

+ 1 - 1
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.c

@@ -33,7 +33,7 @@ gm200_grctx_generate_tpcid(struct gf100_gr *gr)
 	struct nvkm_device *device = gr->base.engine.subdev.device;
 	int gpc, tpc, id;
 
-	for (tpc = 0, id = 0; tpc < 4; tpc++) {
+	for (tpc = 0, id = 0; tpc < TPC_MAX_PER_GPC; tpc++) {
 		for (gpc = 0; gpc < gr->gpc_nr; gpc++) {
 			if (tpc < gr->tpc_nr[gpc]) {
 				nvkm_wr32(device, TPC_UNIT(gpc, tpc, 0x698), id);

+ 2 - 1
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h

@@ -31,7 +31,8 @@
 #include <subdev/mmu.h>
 
 #define GPC_MAX 32
-#define TPC_MAX (GPC_MAX * 8)
+#define TPC_MAX_PER_GPC 8
+#define TPC_MAX (GPC_MAX * TPC_MAX_PER_GPC)
 
 #define ROP_BCAST(r)      (0x408800 + (r))
 #define ROP_UNIT(u, r)    (0x410000 + (u) * 0x400 + (r))