drm/nva3/pm: fixup for NVAF special
authorBen Skeggs <bskeggs@redhat.com>
Thu, 21 Jul 2011 05:54:48 +0000 (15:54 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 20 Sep 2011 06:08:50 +0000 (16:08 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nva3_pm.c

index ec684f5..618c144 100644 (file)
@@ -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))