diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-06-30 08:49:18 +0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-30 08:49:18 +0400 |
commit | 0c168775709faa74c1b87f1e61046e0c51ade7f3 (patch) | |
tree | c40fd8818c64c5d7d1d90afab0bd6ffd94505526 /arch/arm/vfp/vfp.h | |
parent | 9bd481f85940726bf66aae5cd03c5b912ad0ae4c (diff) | |
parent | 9b4311eedb17fa88f02e4876cd6aa9a08e383cd6 (diff) | |
download | linux-0c168775709faa74c1b87f1e61046e0c51ade7f3.tar.xz |
Merge upstream 2.6.13-rc1-git1 into 'ieee80211' branch of netdev-2.6.
Diffstat (limited to 'arch/arm/vfp/vfp.h')
-rw-r--r-- | arch/arm/vfp/vfp.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/vfp/vfp.h b/arch/arm/vfp/vfp.h index 55a02bc994a3..4b97950984e9 100644 --- a/arch/arm/vfp/vfp.h +++ b/arch/arm/vfp/vfp.h @@ -117,7 +117,13 @@ static inline u64 vfp_estimate_div128to64(u64 nh, u64 nl, u64 m) if (nh >= m) return ~0ULL; mh = m >> 32; - z = (mh << 32 <= nh) ? 0xffffffff00000000ULL : (nh / mh) << 32; + if (mh << 32 <= nh) { + z = 0xffffffff00000000ULL; + } else { + z = nh; + do_div(z, mh); + z <<= 32; + } mul64to128(&termh, &terml, m, z); sub128(&remh, &reml, nh, nl, termh, terml); ml = m << 32; @@ -126,7 +132,12 @@ static inline u64 vfp_estimate_div128to64(u64 nh, u64 nl, u64 m) add128(&remh, &reml, remh, reml, mh, ml); } remh = (remh << 32) | (reml >> 32); - z |= (mh << 32 <= remh) ? 0xffffffff : remh / mh; + if (mh << 32 <= remh) { + z |= 0xffffffff; + } else { + do_div(remh, mh); + z |= remh; + } return z; } |