Patchwork [U-Boot,v1,3/3] blackfin: Uart divisor should be set after their values are generated.

login
register
mail settings
Submitter Sonic Zhang
Date May 13, 2013, 4:20 a.m.
Message ID <1368418817-27670-3-git-send-email-sonic.adi@gmail.com>
Download mbox | patch
Permalink /patch/243261/
State Accepted, archived
Delegated to: Sonic Zhang
Headers show

Comments

Sonic Zhang - May 13, 2013, 4:20 a.m.
From: Sonic Zhang <sonic.zhang@analog.com>

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
---
 arch/blackfin/cpu/initcode.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

Patch

diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c
index 4b10b6c..8ef0b92 100644
--- a/arch/blackfin/cpu/initcode.c
+++ b/arch/blackfin/cpu/initcode.c
@@ -715,8 +715,8 @@  update_serial_clocks(ADI_BOOT_DATA *bs, uint sdivB, uint divB, uint vcoB)
 	 * for dividing which means we'd generate a libgcc reference.
 	 */
 	unsigned int sdivR, vcoR;
-	unsigned int dividend = sdivB * divB * vcoR;
-	unsigned int divisor = vcoB * sdivR;
+	unsigned int dividend;
+	unsigned int divisor;
 	unsigned int quotient;
 
 	serial_putc('a');
@@ -729,6 +729,9 @@  update_serial_clocks(ADI_BOOT_DATA *bs, uint sdivB, uint divB, uint vcoB)
 	sdivR = bfin_read_PLL_DIV() & 0xf;
 	vcoR = (bfin_read_PLL_CTL() >> 9) & 0x3f;
 #endif
+
+	dividend = sdivB * divB * vcoR;
+	divisor = vcoB * sdivR;
 	quotient = early_division(dividend, divisor);
 	serial_early_put_div(quotient - ANOMALY_05000230);
 	serial_putc('c');