|
@@ -203,7 +203,8 @@ nouveau_perf_init(struct drm_device *dev)
|
|
|
case 0x13:
|
|
|
case 0x15:
|
|
|
perflvl->fanspeed = entry[55];
|
|
|
- perflvl->voltage = (recordlen > 56) ? entry[56] : 0;
|
|
|
+ if (recordlen > 56)
|
|
|
+ perflvl->voltage = entry[56] * 10000;
|
|
|
perflvl->core = ROM32(entry[1]) * 10;
|
|
|
perflvl->memory = ROM32(entry[5]) * 20;
|
|
|
break;
|
|
@@ -211,7 +212,7 @@ nouveau_perf_init(struct drm_device *dev)
|
|
|
case 0x23:
|
|
|
case 0x24:
|
|
|
perflvl->fanspeed = entry[4];
|
|
|
- perflvl->voltage = entry[5];
|
|
|
+ perflvl->voltage = entry[5] * 10000;
|
|
|
perflvl->core = ROM16(entry[6]) * 1000;
|
|
|
|
|
|
if (dev_priv->chipset == 0x49 ||
|
|
@@ -223,7 +224,7 @@ nouveau_perf_init(struct drm_device *dev)
|
|
|
break;
|
|
|
case 0x25:
|
|
|
perflvl->fanspeed = entry[4];
|
|
|
- perflvl->voltage = entry[5];
|
|
|
+ perflvl->voltage = entry[5] * 10000;
|
|
|
perflvl->core = ROM16(entry[6]) * 1000;
|
|
|
perflvl->shader = ROM16(entry[10]) * 1000;
|
|
|
perflvl->memory = ROM16(entry[12]) * 1000;
|
|
@@ -232,7 +233,7 @@ nouveau_perf_init(struct drm_device *dev)
|
|
|
perflvl->memscript = ROM16(entry[2]);
|
|
|
case 0x35:
|
|
|
perflvl->fanspeed = entry[6];
|
|
|
- perflvl->voltage = entry[7];
|
|
|
+ perflvl->voltage = entry[7] * 10000;
|
|
|
perflvl->core = ROM16(entry[8]) * 1000;
|
|
|
perflvl->shader = ROM16(entry[10]) * 1000;
|
|
|
perflvl->memory = ROM16(entry[12]) * 1000;
|
|
@@ -242,7 +243,7 @@ nouveau_perf_init(struct drm_device *dev)
|
|
|
case 0x40:
|
|
|
#define subent(n) entry[perf[2] + ((n) * perf[3])]
|
|
|
perflvl->fanspeed = 0; /*XXX*/
|
|
|
- perflvl->voltage = entry[2];
|
|
|
+ perflvl->voltage = entry[2] * 10000;
|
|
|
if (dev_priv->card_type == NV_50) {
|
|
|
perflvl->core = ROM16(subent(0)) & 0xfff;
|
|
|
perflvl->shader = ROM16(subent(1)) & 0xfff;
|