summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nva3_pm.c
diff options
context:
space:
mode:
authorBen Skeggs2011-07-21 07:54:48 +0200
committerBen Skeggs2011-09-20 08:08:50 +0200
commit378f85ed54a424bc7e1edb9c3c7cd3a7efef9f9c (patch)
treef5cc8524d585b6004fd2518919fcaebb054e7a3a /drivers/gpu/drm/nouveau/nva3_pm.c
parentdrm/nva3/pm: use crystal freq where appropriate (diff)
downloadkernel-qcow2-linux-378f85ed54a424bc7e1edb9c3c7cd3a7efef9f9c.tar.gz
kernel-qcow2-linux-378f85ed54a424bc7e1edb9c3c7cd3a7efef9f9c.tar.xz
kernel-qcow2-linux-378f85ed54a424bc7e1edb9c3c7cd3a7efef9f9c.zip
drm/nva3/pm: fixup for NVAF special
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nva3_pm.c')
-rw-r--r--drivers/gpu/drm/nouveau/nva3_pm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nva3_pm.c b/drivers/gpu/drm/nouveau/nva3_pm.c
index ec684f56dfc6..618c144b7a30 100644
--- a/drivers/gpu/drm/nouveau/nva3_pm.c
+++ b/drivers/gpu/drm/nouveau/nva3_pm.c
@@ -46,8 +46,14 @@ read_clk(struct drm_device *dev, int clk, bool ignore_en)
u32 sctl, sdiv, sclk;
/* refclk for the 0xe8xx plls is a fixed frequency */
- if (clk >= 0x40)
+ if (clk >= 0x40) {
+ if (dev_priv->chipset == 0xaf) {
+ /* no joke.. seriously.. sigh.. */
+ return nv_rd32(dev, 0x00471c) * 1000;
+ }
+
return dev_priv->crystal;
+ }
sctl = nv_rd32(dev, 0x4120 + (clk * 4));
if (!ignore_en && !(sctl & 0x00000100))