freebsd-src/sys/dev/uart
Colin Percival 39d6144dcd ns8250_drain: Drain without DELAY first
In virtual machines with virtual UARTs which have fictitious baud
rates, it may be possible to drain the receive queue very quickly,
without needing to DELAY after each character.  Attempt to read
(and discard) the receive queue as fast as possible, stopping for
a DELAY only when LSR_RXRDY is no longer asserted; assume that we
have finished draining the queue when LSR_RXRDY is asserted both
before and after a DELAY.

This speeds up the boot process in FreeBSD/Firecracker by 27 ms.

Reviewed by:	imp, jrtc27
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D36184
2022-10-07 17:51:54 -07:00
..
uart.h uart: Remove sbbc reference 2022-09-30 18:26:45 -06:00
uart_bus.h
uart_bus_acpi.c uart_bus_acpi: Read clock frequency from bus 2022-09-07 09:44:58 +02:00
uart_bus_fdt.c
uart_bus_isa.c
uart_bus_pci.c
uart_bus_puc.c
uart_bus_scc.c
uart_core.c
uart_cpu.h
uart_cpu_acpi.c
uart_cpu_acpi.h
uart_cpu_arm64.c uart: uart_cpu_arm64: fix the build without FDT 2022-09-29 14:33:32 -05:00
uart_cpu_fdt.c
uart_cpu_fdt.h
uart_cpu_powerpc.c
uart_cpu_x86.c uart: Don't check SPCR tables if !late_console 2022-07-13 23:17:44 -07:00
uart_dbg.c
uart_dev_imx.c
uart_dev_imx.h
uart_dev_lowrisc.c
uart_dev_lowrisc.h
uart_dev_msm.c
uart_dev_msm.h
uart_dev_mu.c
uart_dev_mvebu.c
uart_dev_ns8250.c ns8250_drain: Drain without DELAY first 2022-10-07 17:51:54 -07:00
uart_dev_ns8250.h
uart_dev_pl011.c
uart_dev_quicc.c
uart_dev_snps.c uart_dev_snps: Fix device probing 2022-10-06 16:42:51 +02:00
uart_dev_ti8250.c
uart_dev_z8530.c
uart_if.m
uart_ppstypes.h
uart_subr.c arm: Catch up with Samsung S3C2xx0 code removal 2022-09-30 18:12:10 -06:00
uart_tty.c