<?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>i.MX ProcessorsのトピックRe: SPI error: I/O Error in DMA RX</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/SPI-error-I-O-Error-in-DMA-RX/m-p/1759376#M215923</link>
    <description>&lt;P&gt;I got the same problem in i.MX 6ULL in kernel version v4.1.15&lt;BR /&gt;It shows:&lt;BR /&gt;spi_master spi2: I/O Error in DMA RX:20d00&lt;BR /&gt;spi_master spi2: failed to transfer one message from queue&lt;BR /&gt;When I adjust the&amp;nbsp;bits_per_word to 32 at the first SPI transmit&lt;/P&gt;</description>
    <pubDate>Sun, 19 Nov 2023 05:24:26 GMT</pubDate>
    <dc:creator>GuLiang</dc:creator>
    <dc:date>2023-11-19T05:24:26Z</dc:date>
    <item>
      <title>SPI error: I/O Error in DMA RX</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-error-I-O-Error-in-DMA-RX/m-p/783775#M121632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In our system we are using ECSPI to transfer a big portion of data to the device. One chunk of data is sended in this way:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;spi_xfer.tx_buf = ptr;&lt;/P&gt;&lt;P&gt;spi_xfer.bits_per_word = 32;&lt;/P&gt;&lt;P&gt;spi_xfer.len = 0x10000;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;spi_message_init(&amp;amp;msg);&lt;/P&gt;&lt;P&gt;spi_message_add_tail(&amp;amp;spi_xfer, &amp;amp;msg);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;status = spi_sync(spidev, &amp;amp;msg);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Everything was fine, until we have changed the kernel version from 3.14.38 to 4.9.88 (from Boundary Devices). Now the kernel shows an error after transmiting first chunk of data (the following chunks are transmiting just fine):&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;spi_master spi4: I/O Error in DMA RX&lt;/P&gt;&lt;P&gt;spi4.0: SPI transfer failed: -110&lt;/P&gt;&lt;P&gt;spi_master spi4: failed to transfer one message from queue&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;It looks like after transmiting the first chunk, SDMA is still waiting for data, so it doesn't generate an interrupt. But we don't understand why, and why it works in older kernel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are using IMX6Q and&amp;nbsp;linux-imx6-boundary-imx_4.9.x_1.0.0_ga.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2018 09:26:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-error-I-O-Error-in-DMA-RX/m-p/783775#M121632</guid>
      <dc:creator>jotes</dc:creator>
      <dc:date>2018-06-14T09:26:58Z</dc:date>
    </item>
    <item>
      <title>Re: SPI error: I/O Error in DMA RX</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-error-I-O-Error-in-DMA-RX/m-p/783776#M121633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Problem solved. The&amp;nbsp;following code&amp;nbsp;was missing in imx-sdma.c (&lt;A class="" href="https://github.com/boundarydevices/linux-imx6/commit/d802d8cb3191df4b44a3a98eb91e1015b0145013#diff-348eeae40c09cacfbd962af9272bf8fe" title="https://github.com/boundarydevices/linux-imx6/commit/d802d8cb3191df4b44a3a98eb91e1015b0145013#diff-348eeae40c09cacfbd962af9272bf8fe"&gt;MLK-15305-2: dma: imx-sdma: force to load context in sdma_config · boundarydevices/linux-imx6@d802d8c · GitHub&lt;/A&gt;):&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;@@ -1168,6 +1168,8 @@ static int sdma_config_channel(struct dma_chan *chan)&lt;BR /&gt; sdmac-&amp;gt;watermark_level = 0; /* FIXME: M3_BASE_ADDRESS */&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt;+ sdmac-&amp;gt;context_loaded = false;&lt;BR /&gt;+&lt;BR /&gt; ret = sdma_load_context(sdmac);&lt;BR /&gt;&lt;BR /&gt; return ret;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jun 2018 09:57:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-error-I-O-Error-in-DMA-RX/m-p/783776#M121633</guid>
      <dc:creator>jotes</dc:creator>
      <dc:date>2018-06-15T09:57:10Z</dc:date>
    </item>
    <item>
      <title>Re: SPI error: I/O Error in DMA RX</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SPI-error-I-O-Error-in-DMA-RX/m-p/1759376#M215923</link>
      <description>&lt;P&gt;I got the same problem in i.MX 6ULL in kernel version v4.1.15&lt;BR /&gt;It shows:&lt;BR /&gt;spi_master spi2: I/O Error in DMA RX:20d00&lt;BR /&gt;spi_master spi2: failed to transfer one message from queue&lt;BR /&gt;When I adjust the&amp;nbsp;bits_per_word to 32 at the first SPI transmit&lt;/P&gt;</description>
      <pubDate>Sun, 19 Nov 2023 05:24:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SPI-error-I-O-Error-in-DMA-RX/m-p/1759376#M215923</guid>
      <dc:creator>GuLiang</dc:creator>
      <dc:date>2023-11-19T05:24:26Z</dc:date>
    </item>
  </channel>
</rss>

