Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 218207
b: refs/heads/master
c: 07b1266
h: refs/heads/master
i:
  218205: 7e8fc3d
  218203: 59ff0b4
  218199: b9f0b72
  218191: 1a041aa
  218175: 25c3c47
v: v3
  • Loading branch information
Ben Skeggs committed Sep 24, 2010
1 parent d1ced2f commit af2ea05
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e022878571690e09e965e8c6bfc837b3dc5b6b74
refs/heads/master: 07b1266962085412e85af2e7df471ec9ed0c35f5
34 changes: 14 additions & 20 deletions trunk/drivers/gpu/drm/nouveau/nouveau_perf.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,50 +90,44 @@ nouveau_perf_init(struct drm_device *dev)
case 0x15:
perflvl->fanspeed = entry[55];
perflvl->voltage = entry[56];
perflvl->core = ROM32(entry[1]) / 100;
perflvl->memory = ROM32(entry[5]) / 100;
perflvl->core = ROM32(entry[1]) * 10;
perflvl->memory = ROM32(entry[5]) * 10;
break;
case 0x21:
case 0x23:
case 0x24:
perflvl->fanspeed = entry[4];
perflvl->voltage = entry[5];
perflvl->core = ROM16(entry[6]);
perflvl->memory = ROM16(entry[11]);
perflvl->core = ROM16(entry[6]) * 1000;
perflvl->memory = ROM16(entry[11]) * 1000;
break;
case 0x25:
perflvl->fanspeed = entry[4];
perflvl->voltage = entry[5];
perflvl->core = ROM16(entry[6]);
perflvl->shader = ROM16(entry[10]);
perflvl->memory = ROM16(entry[12]);
perflvl->core = ROM16(entry[6]) * 1000;
perflvl->shader = ROM16(entry[10]) * 1000;
perflvl->memory = ROM16(entry[12]) * 1000;
break;
case 0x30:
case 0x35:
perflvl->fanspeed = entry[6];
perflvl->voltage = entry[7];
perflvl->core = ROM16(entry[8]);
perflvl->shader = ROM16(entry[10]);
perflvl->memory = ROM16(entry[12]);
perflvl->core = ROM16(entry[8]) * 1000;
perflvl->shader = ROM16(entry[10]) * 1000;
perflvl->memory = ROM16(entry[12]) * 1000;
/*XXX: confirm on 0x35 */
perflvl->unk05 = ROM16(entry[16]);
perflvl->unk05 = ROM16(entry[16]) * 1000;
break;
case 0x40:
#define subent(n) entry[perf[2] + ((n) * perf[3])]
perflvl->fanspeed = 0; /*XXX*/
perflvl->voltage = 0; /*XXX: entry[2] */;
perflvl->core = ROM16(subent(0)) & 0xfff;
perflvl->shader = ROM16(subent(1)) & 0xfff;
perflvl->memory = ROM16(subent(2)) & 0xfff;
perflvl->core = (ROM16(subent(0)) & 0xfff) * 1000;
perflvl->shader = (ROM16(subent(1)) & 0xfff) * 1000;
perflvl->memory = (ROM16(subent(2)) & 0xfff) * 1000;
break;
}

/* convert MHz -> KHz, it's more convenient */
perflvl->core *= 1000;
perflvl->memory *= 1000;
perflvl->shader *= 1000;
perflvl->unk05 *= 1000;

/* make sure vid is valid */
if (pm->voltage.supported && perflvl->voltage) {
vid = nouveau_volt_vid_lookup(dev, perflvl->voltage);
Expand Down

0 comments on commit af2ea05

Please sign in to comment.