2013-08-01 15:25:52

by Tim Gardner

[permalink] [raw]
Subject: [PATCH 3.11-rc3+] radeon: si_dpm: Fix 32 bit __divdi3 modpost failure

ERROR: "__divdi3" [drivers/gpu/drm/radeon/radeon.ko] undefined!
make[3]: *** [__modpost] Error 1

gcc version 4.8.1

Cc: David Airlie <[email protected]>
Cc: Alex Deucher <[email protected]>
Signed-off-by: Tim Gardner <[email protected]>
---
drivers/gpu/drm/radeon/si_dpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c
index 7ad22e87..4182557 100644
--- a/drivers/gpu/drm/radeon/si_dpm.c
+++ b/drivers/gpu/drm/radeon/si_dpm.c
@@ -1767,7 +1767,7 @@ static void si_calculate_leakage_for_v_and_t_formula(const struct ni_leakage_coe
s64 temperature, t_slope, t_intercept, av, bv, t_ref;
s64 tmp;

- i_leakage = drm_int2fixp(ileakage) / 100;
+ i_leakage = div64_s64(drm_int2fixp(ileakage), 100);
vddc = div64_s64(drm_int2fixp(v), 1000);
temperature = div64_s64(drm_int2fixp(t), 1000);

--
1.7.9.5


2013-08-01 15:54:47

by Deucher, Alexander

[permalink] [raw]
Subject: RE: [PATCH 3.11-rc3+] radeon: si_dpm: Fix 32 bit __divdi3 modpost failure

I've already got the fix queued in my -fixes branch:
http://cgit.freedesktop.org/~agd5f/linux/commit/?h=drm-fixes-3.11&id=1d2867b98372929129c7f2ce2c83a9b446a1b43a


> -----Original Message-----
> From: Tim Gardner [mailto:[email protected]]
> Sent: Thursday, August 01, 2013 11:26 AM
> To: [email protected]; [email protected]
> Cc: Tim Gardner; David Airlie; Deucher, Alexander
> Subject: [PATCH 3.11-rc3+] radeon: si_dpm: Fix 32 bit __divdi3 modpost
> failure
>
> ERROR: "__divdi3" [drivers/gpu/drm/radeon/radeon.ko] undefined!
> make[3]: *** [__modpost] Error 1
>
> gcc version 4.8.1
>
> Cc: David Airlie <[email protected]>
> Cc: Alex Deucher <[email protected]>
> Signed-off-by: Tim Gardner <[email protected]>
> ---
> drivers/gpu/drm/radeon/si_dpm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/si_dpm.c
> b/drivers/gpu/drm/radeon/si_dpm.c
> index 7ad22e87..4182557 100644
> --- a/drivers/gpu/drm/radeon/si_dpm.c
> +++ b/drivers/gpu/drm/radeon/si_dpm.c
> @@ -1767,7 +1767,7 @@ static void
> si_calculate_leakage_for_v_and_t_formula(const struct ni_leakage_coe
> s64 temperature, t_slope, t_intercept, av, bv, t_ref;
> s64 tmp;
>
> - i_leakage = drm_int2fixp(ileakage) / 100;
> + i_leakage = div64_s64(drm_int2fixp(ileakage), 100);
> vddc = div64_s64(drm_int2fixp(v), 1000);
> temperature = div64_s64(drm_int2fixp(t), 1000);
>
> --
> 1.7.9.5
>