<?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 RT1176 DMA major IRQ too often in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/RT1176-DMA-major-IRQ-too-often/m-p/1500093#M193374</link>
    <description>&lt;P&gt;I want to read from LPSPI1 a 4 byte value from RDR twice =&amp;gt; 8 bytes in a ring buffer&amp;nbsp; via DMA with major end irq like this:&amp;nbsp; (LPSPI fifo watermarks are zero)&lt;/P&gt;&lt;P&gt;DMA0-&amp;gt;TCD[0].SADDR = (uint32_t) &amp;amp;LPSPI1-&amp;gt;RDR;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].DADDR = (uint32_t) slaveRxData;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].ATTR = 0x0202; // SSIZE=2 DSIZE=2&lt;BR /&gt;DMA0-&amp;gt;TCD[0].SOFF = 0;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].DOFF = 4;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].NBYTES_MLNO = 4;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].SLAST = 0;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].CITER_ELINKNO = 2;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].BITER_ELINKNO = 2;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].DLAST_SGA = (uint32_t) ptrRXTCD;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].CSR = 0x0013; // ESG DREQ INTREQ !!! irq function !!!&lt;/P&gt;&lt;P&gt;but the DMA irq comes after 4 bytes transferred. I want every 8 bytes the irq.&lt;/P&gt;</description>
    <pubDate>Wed, 03 Aug 2022 08:17:42 GMT</pubDate>
    <dc:creator>NXPur</dc:creator>
    <dc:date>2022-08-03T08:17:42Z</dc:date>
    <item>
      <title>RT1176 DMA major IRQ too often</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RT1176-DMA-major-IRQ-too-often/m-p/1500093#M193374</link>
      <description>&lt;P&gt;I want to read from LPSPI1 a 4 byte value from RDR twice =&amp;gt; 8 bytes in a ring buffer&amp;nbsp; via DMA with major end irq like this:&amp;nbsp; (LPSPI fifo watermarks are zero)&lt;/P&gt;&lt;P&gt;DMA0-&amp;gt;TCD[0].SADDR = (uint32_t) &amp;amp;LPSPI1-&amp;gt;RDR;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].DADDR = (uint32_t) slaveRxData;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].ATTR = 0x0202; // SSIZE=2 DSIZE=2&lt;BR /&gt;DMA0-&amp;gt;TCD[0].SOFF = 0;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].DOFF = 4;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].NBYTES_MLNO = 4;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].SLAST = 0;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].CITER_ELINKNO = 2;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].BITER_ELINKNO = 2;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].DLAST_SGA = (uint32_t) ptrRXTCD;&lt;BR /&gt;DMA0-&amp;gt;TCD[0].CSR = 0x0013; // ESG DREQ INTREQ !!! irq function !!!&lt;/P&gt;&lt;P&gt;but the DMA irq comes after 4 bytes transferred. I want every 8 bytes the irq.&lt;/P&gt;</description>
      <pubDate>Wed, 03 Aug 2022 08:17:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RT1176-DMA-major-IRQ-too-often/m-p/1500093#M193374</guid>
      <dc:creator>NXPur</dc:creator>
      <dc:date>2022-08-03T08:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: RT1176 DMA major IRQ too often</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RT1176-DMA-major-IRQ-too-often/m-p/1502808#M193592</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/202243"&gt;@NXPur&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I believe you should take a look into the EDMA_PrepareTransfer() function from the edma. This function includes the parameter “transferBytes” and “bytesEachRequest”, which dictate the amount of bytes that will be transfer every minor and major loop of the DMA request, before executing the IRQ. Please let me know if this helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR,&lt;/P&gt;
&lt;P&gt;Edwin.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Aug 2022 21:16:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RT1176-DMA-major-IRQ-too-often/m-p/1502808#M193592</guid>
      <dc:creator>EdwinHz</dc:creator>
      <dc:date>2022-08-08T21:16:45Z</dc:date>
    </item>
  </channel>
</rss>

