In message <[EMAIL PROTECTED]> you wrote: > Round the serial port clock divisor value returned by > calc_divisor(). > > Signed-off-by: Hugo Villeneuve <[EMAIL PROTECTED]> > Signed-off-by: John Roberts <[EMAIL PROTECTED]> > > --- > > Rounding is important, especially when using high baud rates > values like 115200bps. When using the non-rounded value, some > boards will work and some won't. > > drivers/serial/serial.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c > index 76425d8..1192f07 100644 > --- a/drivers/serial/serial.c > +++ b/drivers/serial/serial.c > @@ -144,8 +144,12 @@ static int calc_divisor (NS16550_t port) > #else > #define MODE_X_DIV 16 > #endif > - return (CFG_NS16550_CLK / MODE_X_DIV / gd->baudrate); > > + /* Compute divisor value. Normally, we should simply return: > + * CFG_NS16550_CLK) / MODE_X_DIV / gd->baudrate > + * but we need to round that value by adding 0.5 or 8/16. > + * Rounding is especially important at high baud rates. */ > + return (((16 * CFG_NS16550_CLK) / MODE_X_DIV / gd->baudrate) + 8) / 16; > }
Your patch causes problems with some boards: Configuring for SBC8540 board... serial.c: In function 'calc_divisor': serial.c:153: warning: integer overflow in expression serial.c:153: warning: integer overflow in expression Configuring for sbc8548 board... serial.c: In function 'calc_divisor': serial.c:153: warning: integer overflow in expression serial.c:153: warning: integer overflow in expression Do you have a quick fix, or shall I back out the patch? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED] To understand a program you must become both the machine and the program. ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users