• Andy Shevchenko's avatar
    serial: 8250_pci: replace switch-case by formula · 21947ba6
    Andy Shevchenko authored
    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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: default avatarPeter Hurley <peter@hurleysoftware.com>
    Reviewed-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    21947ba6
8250_pci.c 142 KB