kernel-fxtec-pro1x/drivers/tty
Gabor Juhos 2dff8ad926 tty/serial/ar933x_uart: fix baud rate calculation
The UART of the AR933x SoC implements a fractional divisor
for generating the desired baud rate.

The current code uses a fixed value for the fractional
part of the divisor, and this leads to improperly
calculated baud rates:

   baud    scale   step  real baud         diff
     300   5207*   8192     17756     17456   5818.66%
     600   2603*   8192     35511     34911   5818.50%
    1200   1301*   8192     71023     69823   5818.58%
    2400    650*   8192     11241      8841    368.37%
    4800    324*   8192     22645     17845    371.77%
    9600    161    8192      9645        45      0.46%
   14400    107    8192     14468        68      0.47%
   19200     80    8192     19290        90      0.46%
   28800     53    8192     28935       135      0.46%
   38400     39    8192     39063       663      1.72%
   57600     26    8192     57870       270      0.46%
  115200     12    8192    120192      4992      4.33%
  230400      5    8192    260417     30017     13.02%
  460800      2    8192    520833     60033     13.02%
  921600      0    8192   1562500    640900     69.93%

After the patch, the integer and fractional parts of the
divisor will be calculated dynamically. This ensures that
the UART will use correct baud rates:

   baud    scale   step  real baud         diff
     300      6      11       300         0      0.00%
     600     54     173       600         0      0.00%
    1200     30     195      1200         0      0.00%
    2400     30     390      2400         0      0.00%
    4800     48    1233      4800         0      0.00%
    9600     78    3976      9600         0      0.00%
   14400     98    7474     14400         0      0.00%
   19200     55    5637     19200         0      0.00%
   28800    130   19780     28800         0      0.00%
   38400     36    7449     38400         0      0.00%
   57600     78   23857     57600         0      0.00%
  115200     43   26575    115200         0      0.00%
  230400     23   28991    230400         0      0.00%
  460800     11   28991    460800         0      0.00%
  921600      5   28991    921599        -1      0.00%

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-15 17:15:02 -08:00
..
hvc TTY: hvcs: fix missing unlock on error in hvcs_initialize() 2012-10-24 11:37:02 -07:00
ipwireless ipwireless: don't oops if we run out of space 2012-11-15 16:53:15 -08:00
serial tty/serial/ar933x_uart: fix baud rate calculation 2012-11-15 17:15:02 -08:00
vt TTY: vt, fix paste_selection ldisc handling 2012-10-22 16:50:53 -07:00
amiserial.c serial: add a new helper function 2012-09-05 13:28:35 -07:00
bfin_jtag_comm.c TTY: use tty_port_link_device 2012-08-13 16:50:19 -07:00
cyclades.c serial: add a new helper function 2012-09-05 13:28:35 -07:00
ehv_bytechan.c TTY: use tty_port_register_device 2012-08-13 16:50:19 -07:00
isicom.c serial: add a new helper function 2012-09-05 13:28:35 -07:00
Kconfig tty/serial: put (EXPERIMENTAL) marking back on N_GSM and SERIAL_IFX6X60 2012-09-18 17:17:56 +01:00
Makefile
moxa.c moxa: dcd handling of CLOCAL is backwards 2012-11-15 16:53:14 -08:00
moxa.h
mxser.c serial: add a new helper function 2012-09-05 13:28:35 -07:00
mxser.h
n_gsm.c tty: n_gsm: Fix incorrect debug display 2012-09-17 04:45:30 -07:00
n_hdlc.c
n_r3964.c tty: localise the lock 2012-08-10 12:55:47 -07:00
n_tracerouter.c
n_tracesink.c
n_tracesink.h
n_tty.c tty: add missing newlines to WARN_RATELIMIT 2012-10-25 11:30:27 -07:00
nozomi.c TTY: use tty_port_register_device 2012-08-13 16:50:19 -07:00
pty.c tty: Add get- ioctls to fetch tty status v3 2012-10-25 12:07:18 -07:00
rocket.c TTY: use tty_port_register_device 2012-08-13 16:50:19 -07:00
rocket.h
rocket_int.h
synclink.c serial: add a new helper function 2012-09-05 13:28:35 -07:00
synclink_gt.c serial: add a new helper function 2012-09-05 13:28:35 -07:00
synclinkmp.c serial: add a new helper function 2012-09-05 13:28:35 -07:00
sysrq.c mm, oom: ensure sysrq+f always passes valid zonelist 2012-11-15 17:13:48 -08:00
tty_audit.c TTY: audit, stop accessing tty->icount 2012-10-22 16:50:54 -07:00
tty_buffer.c tty: add missing newlines to WARN_RATELIMIT 2012-10-25 11:30:27 -07:00
tty_io.c tty: Add get- ioctls to fetch tty status v3 2012-10-25 12:07:18 -07:00
tty_ioctl.c tty: pty - Move TIOCPKT handling into pty.c 2012-10-25 12:07:18 -07:00
tty_ldisc.c tty: Use raw spin lock to protect TTY ldisc administration 2012-10-24 11:37:02 -07:00
tty_mutex.c tty: tty_mutex.c: Fixed coding style warning (using printk) 2012-10-24 11:34:51 -07:00
tty_port.c TTY: move tty buffers to tty_port 2012-10-22 16:58:28 -07:00