Re: ERROR: "__divdf3" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 27/09/2012 13:59, Fengguang Wu wrote:
Hi Martin,

FYI, kernel build failed on

6310a32252e4160ce5492ad9b98c9f2778fec43b drm/nouveau/therm: calculate the pwm divisor on nv50+
powerpc-allmodconfig

All error/warnings:

ERROR: "__divdf3" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!
ERROR: ".__floatsidf" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!
ERROR: "__fixdfsi" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!
ERROR: ".__divdf3" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!
ERROR: "__floatsidf" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!
ERROR: ".__fixdfsi" [drivers/gpu/drm/nouveau/nouveau.ko] undefined!

---
0-DAY kernel build testing backend         Open Source Technology Centre
Fengguang Wu, Yuanhan Liu                              Intel Corporation
Hi,

Thank you for reporting this issue (and for having such a nice tool). I wonder how I could miss that!

Here is a patch for this that should fix the issue. It may be squashed into the offending commit or added as is to the tree.

Cheers,
Martin

>From 9f574fc3872b35aaa4684fa492b9a47fc8f4653f Mon Sep 17 00:00:00 2001
From: Martin Peres <martin.peres@xxxxxxxx>
Date: Thu, 27 Sep 2012 14:34:48 +0200
Subject: [PATCH] drm/nouveau/therm: fix an unintentional use of floating
 point

Signed-off-by: Martin Peres <martin.peres@xxxxxxxx>
---
 drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c b/drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c
index 6f97de2..9360ddd 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c
@@ -92,7 +92,7 @@ nv50_fan_pwm_clock(struct nouveau_therm *therm)
 		if (nv_rd32(therm, 0xc040) & 0x800000) {
 			/* Use the HOST clock (100 MHz)
 			* Where does this constant(2.4) comes from? */
-			pwm_clock = (100000000 >> pwm_div) / 2.4;
+			pwm_clock = (100000000 >> pwm_div) * 10 / 24;
 		} else {
 			/* Where does this constant(20) comes from? */
 			pwm_clock = (crystal * 1000) >> pwm_div;
-- 
1.7.11.5


[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux