Lines Matching full:baud

557  * Returns the nearest supported baud rate that can be set directly without
560 static speed_t pl2303_get_supported_baud_rate(speed_t baud) in pl2303_get_supported_baud_rate() argument
571 if (baud_sup[i] > baud) in pl2303_get_supported_baud_rate()
576 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate()
577 else if (i > 0 && (baud_sup[i] - baud) > (baud - baud_sup[i - 1])) in pl2303_get_supported_baud_rate()
578 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate()
580 baud = baud_sup[i]; in pl2303_get_supported_baud_rate()
582 return baud; in pl2303_get_supported_baud_rate()
586 * NOTE: If unsupported baud rates are set directly, the PL2303 seems to
587 * use 9600 baud.
590 speed_t baud) in pl2303_encode_baud_rate_direct() argument
592 put_unaligned_le32(baud, buf); in pl2303_encode_baud_rate_direct()
594 return baud; in pl2303_encode_baud_rate_direct()
598 speed_t baud) in pl2303_encode_baud_rate_divisor() argument
610 mantissa = baseline / baud; in pl2303_encode_baud_rate_divisor()
612 mantissa = 1; /* Avoid dividing by zero if baud > 32*12M. */ in pl2303_encode_baud_rate_divisor()
630 /* Calculate and return the exact baud rate. */ in pl2303_encode_baud_rate_divisor()
631 baud = (baseline / mantissa) >> (exponent << 1); in pl2303_encode_baud_rate_divisor()
633 return baud; in pl2303_encode_baud_rate_divisor()
637 speed_t baud) in pl2303_encode_baud_rate_divisor_alt() argument
649 mantissa = baseline / baud; in pl2303_encode_baud_rate_divisor_alt()
651 mantissa = 1; /* Avoid dividing by zero if baud > 32*12M. */ in pl2303_encode_baud_rate_divisor_alt()
669 /* Calculate and return the exact baud rate. */ in pl2303_encode_baud_rate_divisor_alt()
670 baud = (baseline / mantissa) >> exponent; in pl2303_encode_baud_rate_divisor_alt()
672 return baud; in pl2303_encode_baud_rate_divisor_alt()
682 speed_t baud; in pl2303_encode_baud_rate() local
684 baud = tty_get_baud_rate(tty); in pl2303_encode_baud_rate()
685 dev_dbg(&port->dev, "baud requested = %u\n", baud); in pl2303_encode_baud_rate()
686 if (!baud) in pl2303_encode_baud_rate()
690 baud = min_t(speed_t, baud, spriv->type->max_baud_rate); in pl2303_encode_baud_rate()
692 * Use direct method for supported baud rates, otherwise use divisors. in pl2303_encode_baud_rate()
696 baud_sup = baud; in pl2303_encode_baud_rate()
698 baud_sup = pl2303_get_supported_baud_rate(baud); in pl2303_encode_baud_rate()
700 if (baud == baud_sup) in pl2303_encode_baud_rate()
701 baud = pl2303_encode_baud_rate_direct(buf, baud); in pl2303_encode_baud_rate()
703 baud = pl2303_encode_baud_rate_divisor_alt(buf, baud); in pl2303_encode_baud_rate()
705 baud = pl2303_encode_baud_rate_divisor(buf, baud); in pl2303_encode_baud_rate()
707 /* Save resulting baud rate */ in pl2303_encode_baud_rate()
708 tty_encode_baud_rate(tty, baud, baud); in pl2303_encode_baud_rate()
709 dev_dbg(&port->dev, "baud set = %u\n", baud); in pl2303_encode_baud_rate()
806 /* For reference buf[0]:buf[3] baud rate value */ in pl2303_set_termios()
863 * as a previously requested baud rate may differ from the one in pl2303_set_termios()