mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-29 01:50:53 +00:00
UART with no DMA is likely to drop RX characters when system is busy. This is because the UART interrupt is lower priority than the spi_event GPIO interrupt. We can work around this by enabling the DMA, so no UART interrupts are required while recieving, since everything will happen in DMA. This replaces the other patch(CL 236089) which suggested changing UART IRQ priority. BUG=chrome-os-partner:33451 TEST=get firmware to poll the EC for keyboard presses, type really fast on the keyboard, note how no character is lost anymore TEST=faft dev mode test now passes, faft is able to type "kbpress $(insert args for Ctrl+D) 1" correctly without missing characters because firmware is loading the EC with keyboard polls TEST=While '+'s are scrolling on the EC terminal paste something big like this: "kbpress 1 1 1 kbpress 1 1 0 123456789012345678901234567890 ". Both kbpresses should be interpreted/executed properly(no "kbprss") and there should be no missing digits in the echo back. BRANCH=None Change-Id: I01d4eaa23f10f07083875846ea48c34da2e2f6ce Signed-off-by: Alexandru M Stan <amstan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/236365 Reviewed-by: Randall Spangler <rspangler@chromium.org>