<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic imx6q Uart receive data error &amp;quot;RX FIFO overrun&amp;quot; in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863393#M131658</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,community&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;We use imx6q UART port to communicate and receive information from other device using RS485,The device will always send&amp;nbsp;data, we have configured&amp;nbsp;&lt;SPAN&gt;ttymxc3&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;to work at 576000 ,&lt;/SPAN&gt;then I used imx6 UART to receive the data, when device always connect to the imx6 UART, it's can receive data well.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;but when I cut it down afterwards link it again, I will got the error message from kernel&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;imx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;-&lt;/SPAN&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666; background-color: #f5f5f5;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066; background-color: #f5f5f5;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt; FIFO overrun&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;imx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600;"&gt;-&lt;/SPAN&gt;&lt;SPAN class=""&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600;"&gt;:&lt;/SPAN&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class=""&gt; FIFO overrun&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;imx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;-&lt;/SPAN&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666; background-color: #f5f5f5;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066; background-color: #f5f5f5;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt; FIFO overrun&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;imx&lt;SPAN class="" style="color: #666600;"&gt;-&lt;/SPAN&gt;&lt;SPAN class=""&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600;"&gt;:&lt;/SPAN&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class=""&gt; FIFO overrun&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;...........................&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Once I got the error I cannot receive data anymore,unless kill the application and open it again.&lt;/P&gt;&lt;P&gt;I used the&amp;nbsp;Oscilloscope to measure the UART port (near the imx6 chip )waveform there is no problem , I got the signal and the signal is okey. we test all UART port and the error&amp;nbsp; it's same !&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;We have using 3.14.52 kernel,the board is imx6q-sabresd&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;&lt;SPAN&gt;Really appreciate any help!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff; font-size: 14px; "&gt;Thanks very much&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff; font-size: 14px; "&gt;Alee&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 16 Mar 2019 09:33:04 GMT</pubDate>
    <dc:creator>1282497337</dc:creator>
    <dc:date>2019-03-16T09:33:04Z</dc:date>
    <item>
      <title>imx6q Uart receive data error "RX FIFO overrun"</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863393#M131658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,community&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;We use imx6q UART port to communicate and receive information from other device using RS485,The device will always send&amp;nbsp;data, we have configured&amp;nbsp;&lt;SPAN&gt;ttymxc3&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;to work at 576000 ,&lt;/SPAN&gt;then I used imx6 UART to receive the data, when device always connect to the imx6 UART, it's can receive data well.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;but when I cut it down afterwards link it again, I will got the error message from kernel&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;imx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;-&lt;/SPAN&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666; background-color: #f5f5f5;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066; background-color: #f5f5f5;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt; FIFO overrun&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;imx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600;"&gt;-&lt;/SPAN&gt;&lt;SPAN class=""&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600;"&gt;:&lt;/SPAN&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class=""&gt; FIFO overrun&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;imx&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;-&lt;/SPAN&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666; background-color: #f5f5f5;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600; background-color: #f5f5f5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066; background-color: #f5f5f5;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt; FIFO overrun&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;imx&lt;SPAN class="" style="color: #666600;"&gt;-&lt;/SPAN&gt;&lt;SPAN class=""&gt;uart &lt;/SPAN&gt;&lt;SPAN class="" style="color: #006666;"&gt;21f0000.serial&lt;/SPAN&gt;&lt;SPAN class="" style="color: #666600;"&gt;:&lt;/SPAN&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN class="" style="color: #660066;"&gt;Rx&lt;/SPAN&gt;&lt;SPAN class=""&gt; FIFO overrun&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: #000000; background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;&lt;SPAN class="" style="background-color: #f5f5f5;"&gt;&lt;SPAN class=""&gt;...........................&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Once I got the error I cannot receive data anymore,unless kill the application and open it again.&lt;/P&gt;&lt;P&gt;I used the&amp;nbsp;Oscilloscope to measure the UART port (near the imx6 chip )waveform there is no problem , I got the signal and the signal is okey. we test all UART port and the error&amp;nbsp; it's same !&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;We have using 3.14.52 kernel,the board is imx6q-sabresd&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;&lt;SPAN&gt;Really appreciate any help!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff; font-size: 14px; "&gt;Thanks very much&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff; font-size: 14px; "&gt;Alee&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Mar 2019 09:33:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863393#M131658</guid>
      <dc:creator>1282497337</dc:creator>
      <dc:date>2019-03-16T09:33:04Z</dc:date>
    </item>
    <item>
      <title>Re: imx6q Uart receive data error "RX FIFO overrun"</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863394#M131659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi AL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can try to reset uart using sect.64.10.2 Software reset i.MX6DQ Reference &lt;BR /&gt;Manual and if sdma was used, try to not use sdma.&lt;BR /&gt;&lt;A href="https://www.nxp.com/docs/en/reference-manual/IMX6DQRM.pdf"&gt;https://www.nxp.com/docs/en/reference-manual/IMX6DQRM.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 17 Mar 2019 22:39:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863394#M131659</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-03-17T22:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: imx6q Uart receive data error "RX FIFO overrun"</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863395#M131660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi igor&lt;/P&gt;&lt;P&gt;As you know I used the sdma to transmit data,then for test i disable sdma and it can solve such problem (if i got FIFO overrun UART will continue receive data), unfortunately another peoblem arises that when I send data about 10000 Byte pre second&amp;nbsp;use baud rate 115200 ,thread kworker occupy CPU about 15 present, I&amp;nbsp;used baud rate 115200 * 10 and send data about 500000 Byte/sec &lt;SPAN&gt;kworker&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;occupy CPU over 85%. its cause many other problem ,&lt;/P&gt;&lt;P&gt;Could you&amp;nbsp;give me some advise if i want to use sdma how to solve the problem that fifo overrun and cannot receive data anymore .&lt;/P&gt;&lt;P&gt;Looking forward to your suggestions!&lt;/P&gt;&lt;P&gt;thanks&amp;nbsp;&lt;/P&gt;&lt;P&gt;ALee&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Mar 2019 09:07:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863395#M131660</guid>
      <dc:creator>1282497337</dc:creator>
      <dc:date>2019-03-18T09:07:32Z</dc:date>
    </item>
    <item>
      <title>Re: imx6q Uart receive data error "RX FIFO overrun"</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863396#M131661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi community&lt;/P&gt;&lt;P&gt;maybe I addressed this problem,but not sure.Blowe is my solution:&lt;/P&gt;&lt;P&gt;I'm using kernel 3.14.52 and I found the source code kernel/driver/tty/serial/imx.c will got the DMA transmit status but do not deal with it.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro" style="background: none #f6f6f6; border-left: 2px solid #cccccc; margin: 10px 0px; padding: 10px 20px;"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Imx.c (drivers\tty\serial)&lt;/P&gt;&lt;P&gt;static void dma_rx_callback(void *data)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; struct imx_port *sport = data;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; struct dma_chan *chan = sport-&amp;gt;dma_chan_rx;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;struct tty_struct *tty = sport-&amp;gt;port.state-&amp;gt;port.tty;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;struct dma_tx_state state;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;enum dma_status status;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;unsigned int count;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;/* If we have finish the reading. we will not accept any more data. */&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;if (tty-&amp;gt;closing) {&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;imx_rx_dma_done(sport);&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;return;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;status = dmaengine_tx_status(chan, (dma_cookie_t)0, &amp;amp;state); // to get DMA status but not care this return value "status"?&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(DMA_ERROR ==&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;status&lt;/SPAN&gt;){&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dmaengine_terminate_all(&lt;SPAN style="background-color: #f6f6f6;"&gt;chan&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dmaengine_resume(&lt;SPAN style="background-color: #f6f6f6;"&gt;chan&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;count = RX_BUF_SIZE - state.residue;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;sport-&amp;gt;rx_buf.buf_info[sport-&amp;gt;rx_buf.cur_idx].filled = true;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;sport-&amp;gt;rx_buf.buf_info[sport-&amp;gt;rx_buf.cur_idx].rx_bytes = count;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;sport-&amp;gt;rx_buf.cur_idx++;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;sport-&amp;gt;rx_buf.cur_idx %= IMX_RXBD_NUM;&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;dev_dbg(sport-&amp;gt;port.dev, "We get %d bytes.\n", count);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;if (sport-&amp;gt;rx_buf.cur_idx == sport-&amp;gt;rx_buf.last_completed_idx)&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;dev_err(sport-&amp;gt;port.dev, "overwrite!\n");&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;if (count)&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;dma_rx_work(sport);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The DMA status defined&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;Dmaengine.h (include\linux)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;enum dma_status {&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;DMA_COMPLETE,&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;DMA_IN_PROGRESS,&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;DMA_PAUSED,&lt;BR /&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;DMA_ERROR,&lt;BR /&gt;};&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Under normal circumstances this "status == 1" this mean is&amp;nbsp;&lt;SPAN style="background-color: #f6f6f6;"&gt;DMA_IN_PROGRESS&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;,but&amp;nbsp;sometimes I will got&amp;nbsp;&lt;SPAN&gt;"status == 3", the DMA error occurred . then i can't receive&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;data from this&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;serial&amp;nbsp;port anymore&amp;nbsp; unless&amp;nbsp;I&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;closs&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;this&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;uart&amp;nbsp;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;open&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;it again.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;&lt;SPAN&gt;now it's&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;will continue&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;receive data when i get&amp;nbsp;&lt;SPAN&gt;"status == 3"&amp;nbsp;DMA error&amp;nbsp;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Mar 2019 06:24:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6q-Uart-receive-data-error-quot-RX-FIFO-overrun-quot/m-p/863396#M131661</guid>
      <dc:creator>1282497337</dc:creator>
      <dc:date>2019-03-20T06:24:17Z</dc:date>
    </item>
  </channel>
</rss>

