diff options
author | Laurent Pinchart <laurentp@cse-semaphore.com> | 2008-11-20 07:32:23 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2009-01-28 19:16:57 -0500 |
commit | 7b8909940a524d67b4352c29256ada476f50fbba (patch) | |
tree | 4de0284227e6bea6affcfd2f828ac311953d33eb /arch/powerpc/sysdev/cpm2.c | |
parent | 96051465fdc29e00dd14b484a45daac089c657f8 (diff) |
cpm2: Round the baud-rate clock divider to the nearest integer.
Instead of rounding the divider down, improve the baud-rate generators
accuracy by rounding to the nearest integer.
Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/sysdev/cpm2.c')
-rw-r--r-- | arch/powerpc/sysdev/cpm2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c index f1c3395633b9..474d176a6ec3 100644 --- a/arch/powerpc/sysdev/cpm2.c +++ b/arch/powerpc/sysdev/cpm2.c | |||
@@ -129,7 +129,8 @@ void __cpm2_setbrg(uint brg, uint rate, uint clk, int div16, int src) | |||
129 | brg -= 4; | 129 | brg -= 4; |
130 | } | 130 | } |
131 | bp += brg; | 131 | bp += brg; |
132 | val = (((clk / rate) - 1) << 1) | CPM_BRG_EN | src; | 132 | /* Round the clock divider to the nearest integer. */ |
133 | val = (((clk * 2 / rate) - 1) & ~1) | CPM_BRG_EN | src; | ||
133 | if (div16) | 134 | if (div16) |
134 | val |= CPM_BRG_DIV16; | 135 | val |= CPM_BRG_DIV16; |
135 | 136 | ||