serial: 8250_pci: replace switch-case by formula
This patch replaces a switch-case by a formula using rational best
approximation that does necessary calculations for byt_set_termios().
Below is a list of the calculations done for all defined baud rates. Each line
in a format: 1) numerator, 2) denominator, 3) prescaler, 4) Fuart, 5) port UART
clock, 6) list of baud rates with DLAB values.
4 5 16
80000000 80000000 2500000(2)
14 25 16
56000000 56000000 3500000(1)
16 25 16
64000000 64000000 500000(8),
1000000(4),
2000000(2),
4000000(1)
24 25 16
96000000 96000000 1500000(4),
3000000(2)
2180 3103 16
70254592 70254592 134(32768)
2304 3125 16
73728000 73728000 576000(8),
1152000(4)
8192 15625 16
52428800 52428800 50(65536),200(16384)
9216 15625 16
58982400 58982400 1800(2048),57600(64),115200(32),
230400(16),460800(8),921600(4),
1843200(2)
12288 15625 16
78643200 78643200 75(65536),150(32768),300(16384),
600(8192),1200(4096),2400(2048),
4800(1024),9600(512),19200(256),38400(128)
9893 17154 16
57671680 57671680 110(32768)
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>