summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nouveau_perf.c
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-09-23 15:34:09 +0200
committerBen Skeggs <bskeggs@redhat.com>2010-09-24 16:29:25 +1000
commite829d804d78c57b8e90039079284ac585f72851d (patch)
treed175baf4f49230133184dceadf9e8aae376349ef /drivers/gpu/drm/nouveau/nouveau_perf.c
parent67e1d4fbaefd6a27b55523bb6bb0dd941351a325 (diff)
drm/nouveau: Double the perf table memory clocks on pre-G71 cards.
Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_perf.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_perf.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_perf.c b/drivers/gpu/drm/nouveau/nouveau_perf.c
index 00f8243c6c7..6b641b69cb7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_perf.c
+++ b/drivers/gpu/drm/nouveau/nouveau_perf.c
@@ -136,7 +136,7 @@ nouveau_perf_init(struct drm_device *dev)
perflvl->fanspeed = entry[55];
perflvl->voltage = entry[56];
perflvl->core = ROM32(entry[1]) * 10;
- perflvl->memory = ROM32(entry[5]) * 10;
+ perflvl->memory = ROM32(entry[5]) * 20;
break;
case 0x21:
case 0x23:
@@ -144,7 +144,13 @@ nouveau_perf_init(struct drm_device *dev)
perflvl->fanspeed = entry[4];
perflvl->voltage = entry[5];
perflvl->core = ROM16(entry[6]) * 1000;
- perflvl->memory = ROM16(entry[11]) * 1000;
+
+ if (dev_priv->chipset == 0x49 ||
+ dev_priv->chipset == 0x4b)
+ perflvl->memory = ROM16(entry[11]) * 1000;
+ else
+ perflvl->memory = ROM16(entry[11]) * 2000;
+
break;
case 0x25:
perflvl->fanspeed = entry[4];