The serial terminal polling interval is now fixed by macro: #define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s
However, this may cause fast input to be truncated on some platforms. For example, we have a serial console with below features: 1. Baud rate: 115200 2. FIFO depth of UART device: 32 If we want to capture all input, we need to poll with the interval of 32 / (115200 / (8 + 1 + 1)) = 2.8 ms, 8 + 1 + 1 for data bits + start bit + stop bit. Due to UEFI event potential delay, we will need even shorter polling interval than the ideal calculation result. These patches are to set serial terminal polling rate adaptively. Heyi Guo (3): MdePkg: Add PCD for UART default receive FIFO depth MdeModulePkg/SerialDxe: Set FIFO depth with PCD MdeModulePkg/TerminalDxe: Set polling rate by serial IO mode .../Universal/Console/TerminalDxe/Terminal.c | 5 +- .../Universal/Console/TerminalDxe/Terminal.h | 27 ++++++++- .../Universal/Console/TerminalDxe/TerminalConIn.c | 68 ++++++++++++++++++++++ MdeModulePkg/Universal/SerialDxe/SerialDxe.inf | 9 +-- MdeModulePkg/Universal/SerialDxe/SerialIo.c | 3 +- MdePkg/MdePkg.dec | 4 ++ 6 files changed, 109 insertions(+), 7 deletions(-) Cc: Michael D Kinney <[email protected]> Cc: Liming Gao <[email protected]> Cc: Ruiyu Ni <[email protected]> Cc: Feng Tian <[email protected]> Cc: Star Zeng <[email protected]> -- 2.7.0 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

