Hi Ryan and Roy,
What's timer interrupt period of your boards? Timer interrupt period should be less than terminal poll interval, otherwise timer will become the bottle neck :)
Thanks.
On 09/29/2015 09:32 PM, Roy Franz wrote:
On Tue, Sep 29, 2015 at 4:24 AM, Ryan Harkin ryan.harkin@linaro.org wrote:
On 24 September 2015 at 19:57, Heyi Guo heyi.guo@linaro.org wrote:
Hi folks,
In MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf, the polling interval is fixed by macro:
#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s
However, this may cause fast input truncation on some platform. For example, we have a serial console with below features:
- Baud rate: 115200
- 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.
As a hack, I tried changing KEYBOARD_TIMER_INTERVAL to 20000 (ie. divided by 10) and it made no difference to my board: it still drops characters on copy/paste.
From what you said above, I would expect that to have fixed the problem. If not, what problem are you expecting it will fix? And have you tested it?
I tried it as well, didn't make a difference with copy/paste problems. I'm bummed, as I'd really like a fix for that.
Roy
So, I suppose to use a PCD to set the interval statically, or calculate from serial IO protocol IO Mode data dynamically, which contains FIFO depth and data bits, etc.
Please let me know your comments.
Thanks.
(If you see my another mail like this, please ignore that; this one is the final version; sorry for the noise) _______________________________________________ Linaro-uefi mailing list Linaro-uefi@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-uefi
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-uefi