summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-04-20 05:21:40 +0200
committerBen Skeggs <bskeggs@redhat.com>2011-05-16 02:50:47 +0200
commit047d2df54cb866f13014cb566eac61449bf89a29 (patch)
tree001ae0434144f215683997afd5a2426ec4141d09
parentdrm/nvc0/pm: correct core/mem/shader perflvl parsing (diff)
downloadlinux-047d2df54cb866f13014cb566eac61449bf89a29.tar.xz
linux-047d2df54cb866f13014cb566eac61449bf89a29.zip
drm/nvc0/pm: parse clock for pll 0x0a (0x137020) from perf table
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drv.h1
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_perf.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 224d3a1ce6ec..444a943283b1 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -433,6 +433,7 @@ struct nouveau_pm_level {
u32 memory;
u32 shader;
u32 unk05;
+ u32 unk0a;
u8 voltage;
u8 fanspeed;
diff --git a/drivers/gpu/drm/nouveau/nouveau_perf.c b/drivers/gpu/drm/nouveau/nouveau_perf.c
index 90ab4978e812..6e3f93334a97 100644
--- a/drivers/gpu/drm/nouveau/nouveau_perf.c
+++ b/drivers/gpu/drm/nouveau/nouveau_perf.c
@@ -243,12 +243,14 @@ nouveau_perf_init(struct drm_device *dev)
} else {
perflvl->shader = ROM16(subent(3)) & 0xfff;
perflvl->core = perflvl->shader / 2;
+ perflvl->unk0a = ROM16(subent(4)) & 0xfff;
perflvl->memory = ROM16(subent(5)) & 0xfff;
}
perflvl->core *= 1000;
perflvl->shader *= 1000;
perflvl->memory *= 1000;
+ perflvl->unk0a *= 1000;
break;
}