diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-07-21 15:54:48 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-09-20 16:08:50 +1000 |
commit | 378f85ed54a424bc7e1edb9c3c7cd3a7efef9f9c (patch) | |
tree | f5cc8524d585b6004fd2518919fcaebb054e7a3a | |
parent | 64e740bb3d43a3abcd0b51cda3ba46b35bff30b2 (diff) | |
download | linux-378f85ed54a424bc7e1edb9c3c7cd3a7efef9f9c.tar.gz |
drm/nva3/pm: fixup for NVAF special
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nva3_pm.c | 8 |
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)) |