Skip to contentSkip to conversation

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

DISCUSSION Fengguang Wu 3 participants 3 messages Sep 27, 2012

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
Quoted 16 lines · Fengguang Wu

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!

Quoted 3 lines

---
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 <[email protected]>
Date: Thu, 27 Sep 2012 14:34:48 +0200
Subject: [PATCH] drm/nouveau/therm: fix an unintentional use of floating
point

---
 drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c +1 -1
index 6f97de2..9360ddd 100644
@@ -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;
Signature · 1 line
1.7.11.5
#2 lore raw
In reply to Fengguang Wu
Quoted 20 lines · Martin Peres
Quoted 16 lines · Fengguang Wu

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!

Quoted 3 lines

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

Quoted 7 lines

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.

Squashed into the relevant commit. Thanks!

Quoted 32 lines

Cheers,
Martin

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

---
 drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c +1 -1
index 6f97de2..9360ddd 100644
@@ -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;
Signature · 1 line
1.7.11.5