<?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: dma_alloc_coherent irqs off too long</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/dma-alloc-coherent-irqs-off-too-long/m-p/249475#M22445</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like Linux implementation of &lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;DMA API to handle coherency between CPUs and external devices &lt;BR /&gt;(when accessing the same physical memory) is not intended for real time applications.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Dec 2013 02:59:44 GMT</pubDate>
    <dc:creator>Yuri</dc:creator>
    <dc:date>2013-12-18T02:59:44Z</dc:date>
    <item>
      <title>dma_alloc_coherent irqs off too long</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/dma-alloc-coherent-irqs-off-too-long/m-p/249474#M22444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;We are using the IMX6Dual and during startup we are missing characters on one of the Uarts.&lt;/P&gt;&lt;P&gt;We tried using DMA for the Uart and adjusting the receive threshold but no luck.&lt;/P&gt;&lt;P&gt;We noticed that it happens during the insmod of the galcore.ko driver.&lt;/P&gt;&lt;P&gt;Finally ran ftrace for irqsoff and discovered the irqs are off for 1165us and as much as 1700us.&lt;/P&gt;&lt;P&gt;The Uart is running at 230kbaud which translates to 43us/char with a 32 byte fifo.&amp;nbsp; Overrun occurs at 1419us.&lt;/P&gt;&lt;P&gt;Why is this taking so long? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;SPAN lang=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;# tracer: irqsoff&lt;/P&gt;&lt;P&gt;#&lt;/P&gt;&lt;P&gt;&amp;nbsp; insmod-291&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0d..1&amp;nbsp;&amp;nbsp;&amp;nbsp; 0us!: __raw_spin_lock_irqsave&lt;/P&gt;&lt;P&gt;&amp;nbsp; insmod-291&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0d..1 1163us+: _raw_spin_unlock_irqrestore&lt;/P&gt;&lt;P&gt;&amp;nbsp; insmod-291&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0d..1 1165us : trace_hardirqs_on &amp;lt;-_raw_spin_unlock_irqrestore&lt;/P&gt;&lt;P&gt;&amp;nbsp; insmod-291&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0d..1 1166us : &amp;lt;stack trace&amp;gt;&lt;/P&gt;&lt;P&gt; =&amp;gt; __dma_alloc&lt;/P&gt;&lt;P&gt; =&amp;gt; dma_alloc_coherent&lt;/P&gt;&lt;P&gt; =&amp;gt; gckOS_AllocateNonPagedMemory&lt;/P&gt;&lt;P&gt; =&amp;gt; gckOS_AllocateContiguous&lt;/P&gt;&lt;P&gt; =&amp;gt; _Construct&lt;/P&gt;&lt;P&gt; =&amp;gt; gckMMU_Construct&lt;/P&gt;&lt;P&gt; =&amp;gt; gckKERNEL_Construct&lt;/P&gt;&lt;P&gt; =&amp;gt; gckGALDEVICE_Construct&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Dec 2013 20:58:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/dma-alloc-coherent-irqs-off-too-long/m-p/249474#M22444</guid>
      <dc:creator>don1097</dc:creator>
      <dc:date>2013-12-06T20:58:28Z</dc:date>
    </item>
    <item>
      <title>Re: dma_alloc_coherent irqs off too long</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/dma-alloc-coherent-irqs-off-too-long/m-p/249475#M22445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like Linux implementation of &lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;DMA API to handle coherency between CPUs and external devices &lt;BR /&gt;(when accessing the same physical memory) is not intended for real time applications.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Dec 2013 02:59:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/dma-alloc-coherent-irqs-off-too-long/m-p/249475#M22445</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2013-12-18T02:59:44Z</dc:date>
    </item>
  </channel>
</rss>

