opnsense-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 Remove unused uart_devclass. 2022-05-06 15:46:57 -07:00
uart_bus_acpi.c uart_bus_acpi: Read clock frequency from bus 2022-09-07 09:44:58 +02:00
uart_bus_fdt.c Remove unused uart_devclass. 2022-05-06 15:46:57 -07:00
uart_bus_isa.c Remove unused uart_devclass. 2022-05-06 15:46:57 -07:00
uart_bus_pci.c Remove unused uart_devclass. 2022-05-06 15:46:57 -07:00
uart_bus_puc.c Remove unused uart_devclass. 2022-05-06 15:46:57 -07:00
uart_bus_scc.c Remove unused uart_devclass. 2022-05-06 15:46:57 -07:00
uart_core.c Remove unused uart_devclass. 2022-05-06 15:46:57 -07:00
uart_cpu.h uart(4): Add a concept of "unique" serial devices 2022-03-31 16:02:24 -07:00
uart_cpu_acpi.c uart(4): Add a concept of "unique" serial devices 2022-03-31 16:02:24 -07:00
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 Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
uart_cpu_fdt.h uart: allow UART_DEV_DBGPORT for fdt consoles 2020-12-02 21:01:52 +00:00
uart_cpu_powerpc.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
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: Make ext_resources non-optional 2022-02-21 17:28:50 +01:00
uart_dev_imx.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
uart_dev_lowrisc.c uart_dev_lowrisc: Remove unused variables in stub functions. 2022-04-12 14:58:57 -07:00
uart_dev_lowrisc.h
uart_dev_msm.c
uart_dev_msm.h
uart_dev_mu.c uart_mu: Remove unused variables. 2022-04-08 17:25:15 -07:00
uart_dev_mvebu.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_ns8250.c ns8250_drain: Drain without DELAY first 2022-10-07 17:51:54 -07:00
uart_dev_ns8250.h uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_pl011.c uart: clean up empty lines in .c and .h files 2020-09-01 21:50:00 +00:00
uart_dev_quicc.c quicc_bus_setsig: eliminate write only variable bas 2022-04-04 22:30:20 -06:00
uart_dev_snps.c uart_dev_snps: Fix device probing 2022-10-06 16:42:51 +02:00
uart_dev_ti8250.c Move Ti AM335x to dev/extres/clk framework. 2020-07-30 14:45:05 +00:00
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