<?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 Re: i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502885#M81423</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yuri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is it true only for i.MX28 as for example i.MX27, i.MX53 and i.MX6QDL kernel device trees are using iRAM for their VPU (video processing unit) which does really sound like a lot of burst accesses?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Jörg Krause&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Mar 2016 10:19:37 GMT</pubDate>
    <dc:creator>jörg_krause</dc:creator>
    <dc:date>2016-03-25T10:19:37Z</dc:date>
    <item>
      <title>i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502883#M81421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ALSA supports using internal RAM (iRAM) for DMA buffer allocation: &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fmailman.alsa-project.org%2Fpipermail%2Falsa-devel%2F2013-October%2F067628.html" rel="nofollow" target="_blank"&gt;http://mailman.alsa-project.org/pipermail/alsa-devel/2013-October/067628.html&lt;/A&gt;.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As i.MX28 uses the SoC generic DMA engine, this module tries to preallocate buffer from the iRAM: &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Flxr.free-electrons.com%2Fsource%2Fsound%2Fsoc%2Fsoc-generic-dmaengine-pcm.c%23L294" rel="nofollow" target="_blank"&gt;http://lxr.free-electrons.com/source/sound/soc/soc-generic-dmaengine-pcm.c#L294.&lt;/A&gt; However, this allocation fails, because it is has not been defined by default in the i.MX28 device tree.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wonder, if it might have some benefits to use the OCRAM for ALSA DMA buffer allocation instead of SDRAM? At least, the OCRAM runs at 200 MHz (connected to the AHB bus). SDRAM can, depending on the DDR chip, run at 133 MHz or 200 MHz, right?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I attached two patches to enable iRAM support for ALSA DMA buffer allocation.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any feedback is welcome!&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336439"&gt;0001-ARM-dts-imx28-Add-OCRAM-support.patch.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336439"&gt;0002-ARM-dts-imx28-Use-iRAM-for-DMA-buffer-allocation.patch.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Mar 2016 10:47:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502883#M81421</guid>
      <dc:creator>jörg_krause</dc:creator>
      <dc:date>2016-03-24T10:47:00Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502884#M81422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="tm6"&gt;&lt;SPAN class="tm7"&gt;&amp;nbsp; Internal memory of i.MX devices mainly is intended for boot&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="a______"&gt;&lt;SPAN class="tm7"&gt;purposes and here memory performance is not very critical.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="a______"&gt;&lt;SPAN class="tm7"&gt;Usually DRAM is more preferable because of high throughput,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="a______"&gt;&lt;SPAN class="tm7"&gt;when using burst accesses.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="tm9"&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Fri, 25 Mar 2016 03:23:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502884#M81422</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-03-25T03:23:48Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502885#M81423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yuri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is it true only for i.MX28 as for example i.MX27, i.MX53 and i.MX6QDL kernel device trees are using iRAM for their VPU (video processing unit) which does really sound like a lot of burst accesses?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Jörg Krause&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Mar 2016 10:19:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502885#M81423</guid>
      <dc:creator>jörg_krause</dc:creator>
      <dc:date>2016-03-25T10:19:37Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502886#M81424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; You may look at the following discussion regarding OCRAM performance,&lt;/P&gt;&lt;P&gt;which can clarify the issue in general.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/355199"&gt;i.MX53 i.RAM (OCRAM) seems very slow, test code included.&lt;/A&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Mar 2016 07:37:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502886#M81424</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-03-28T07:37:52Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502887#M81425</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've tested the memio tool and I get a result which is about a fifths of the values the user has measured for i.MX53: ~27k us. This leads to several questions:&lt;/P&gt;&lt;P&gt;1) Why is i.MX53 iRAM is so slow compared to i.MX28? Is it buggy?&lt;/P&gt;&lt;P&gt;2) If iRAM has such a bad performance, why is it still used on i.MX cpus for the VPU in the Linux kernel?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Jörg Krause&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Mar 2016 19:24:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502887#M81425</guid>
      <dc:creator>jörg_krause</dc:creator>
      <dc:date>2016-03-29T19:24:48Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Use OCRAM (iRAM) for DMA buffer allocation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502888#M81426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IRAM has two advantages :&lt;/P&gt;&lt;P&gt;1) it always present and ready - so, may be used for boot ;&lt;/P&gt;&lt;P&gt;2) it may be used in parallel with DRAM for external memory&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bandwidth reduction. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Apr 2016 03:37:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Use-OCRAM-iRAM-for-DMA-buffer-allocation/m-p/502888#M81426</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-04-22T03:37:42Z</dc:date>
    </item>
  </channel>
</rss>

