drm/nvd0/disp: ignore clock set if no pclk
authorBen Skeggs <bskeggs@redhat.com>
Fri, 16 Mar 2012 05:32:16 +0000 (15:32 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 22 Mar 2012 07:18:00 +0000 (17:18 +1000)
This happens somehow during init on a machine I have, and leads to a
divide-by-zero.

Lets avoid that...

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvd0_display.c

index 5e2b79bdcae0deeb81633695ecc53ad672eb84db..421d301b3797a73c2345c7b4a5a219c427d2a0b9 100644 (file)
@@ -1661,7 +1661,9 @@ nvd0_display_unk2_handler(struct drm_device *dev, u32 crtc, u32 mask)
        }
 
        pclk = nv_rd32(dev, 0x660450 + (crtc * 0x300)) / 1000;
-       if (mask & 0x00010000) {
+       NV_DEBUG_KMS(dev, "PDISP: crtc %d pclk %d mask 0x%08x\n",
+                         crtc, pclk, mask);
+       if (pclk && (mask & 0x00010000)) {
                nv50_crtc_set_clock(dev, crtc, pclk);
        }