Wind River Support Network


LIN6-9423 : Baytrail HSUART DMA Issue, "too much work irq20" non-DMA

Created: Feb 12, 2015    Updated: Dec 3, 2018
Resolved Date: Apr 19, 2015
Found In Version:
Fix Version:
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: BSP, Kernel
Architecture: IA64


the Atom and an Infineon XC2267 coprocessor system has an SPI link from the Atom the the XC, and a UART link from the XC to the Atom.  For this particular case, a request is sent over SPI from the Atom to the XC and expect the XC to respond on the UART channel (running a custom baud rate of 2.1 MBaud).  Customer is using known good code on the XC and have verified that Atom (?) receives the request and sends the response.   At a high level this is what have been observed:

1. With DMA enabled, no data is ever received over HSUART
2. With the DMA disabled, the port works as expected, although we see a "too much work irq20" warning after heavy  use.  

To disable DMA mode, we clear the CONFIG_SERIAL_8250_DMA kernel configuration variable and recompile our kernel. 

In our full system we open the TTY in non-blocking mode, then sit in a thread polling the port for data.  We use an ioctl() to see how many bytes are available, and then call read() to read that many bytes.  

Other Downloads

Live chat