diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2012-03-16 15:32:16 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2012-03-22 17:18:00 +1000 |
commit | dd62608bcc8a629c4c583fb50b90003fd5213516 (patch) | |
tree | 81a52947d3f7a0522353828340eb6e8d4fa04eed | |
parent | 27100ac95a8eee0b083e46bfa67b229ac641d28c (diff) | |
download | op-kernel-dev-dd62608bcc8a629c4c583fb50b90003fd5213516.zip op-kernel-dev-dd62608bcc8a629c4c583fb50b90003fd5213516.tar.gz |
drm/nvd0/disp: ignore clock set if no pclk
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>
-rw-r--r-- | drivers/gpu/drm/nouveau/nvd0_display.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nvd0_display.c b/drivers/gpu/drm/nouveau/nvd0_display.c index 5e2b79b..421d301 100644 --- a/drivers/gpu/drm/nouveau/nvd0_display.c +++ b/drivers/gpu/drm/nouveau/nvd0_display.c @@ -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); } |