瀏覽代碼

drm/nv40/pm: parse geometric delta clock from vbios

This changes the meaning of what we reported as "core" clock previously.

The shader/rop units are allegedly supposed to be run at the base clock
listed in the perf table, while the geometric clock can be bumped from
this value on some boards.

So that we can report both, we'll report the base clock as "shader" (since
the shaders *do* run at it), and the geometric clock as "core".

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

+ 3 - 2
drivers/gpu/drm/nouveau/nouveau_perf.c

@@ -275,8 +275,9 @@ nouveau_perf_init(struct drm_device *dev)
 		case 0x24:
 			perflvl->fanspeed = entry[4];
 			perflvl->volt_min = entry[5];
-			perflvl->core = ROM16(entry[6]) * 1000;
-
+			perflvl->shader = ROM16(entry[6]) * 1000;
+			perflvl->core = perflvl->shader;
+			perflvl->core += (signed char)entry[8] * 1000;
 			if (dev_priv->chipset == 0x49 ||
 			    dev_priv->chipset == 0x4b)
 				perflvl->memory = ROM16(entry[11]) * 1000;