32 lines
1016 B
Diff
32 lines
1016 B
Diff
From: Ben Skeggs <bskeggs@redhat.com>
|
|
Date: Fri, 16 Mar 2012 15:32:16 +1000
|
|
Subject: [8/9] drm/nvd0/disp: ignore clock set if no pclk
|
|
|
|
commit dd62608bcc8a629c4c583fb50b90003fd5213516 upstream.
|
|
|
|
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 | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
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);
|
|
}
|
|
|