<?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 [e500] enabling hardware data cache coherency in Linux in P-Series</title>
    <link>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435318#M2500</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;I am trying to enable hardware enforced coherency in P2020 in order to speed up communication between core and eTSEC.&lt;/P&gt;&lt;P&gt;Unfortunately, I cannot find, how to set/clear proper bits in MAS2 register, using standard linux kernel API. Is there any way to do this clean way, or should I just hack my way out?&lt;/P&gt;&lt;P&gt;The only proof that Linux might set those bits is in [2], function, but that doesn't lead me to any generic kernel api function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[1] &lt;A href="http://www.freescale.com/files/32bit/doc/app_note/AN3544.pdf" title="http://www.freescale.com/files/32bit/doc/app_note/AN3544.pdf"&gt;http://www.freescale.com/files/32bit/doc/app_note/AN3544.pdf&lt;/A&gt; &lt;/P&gt;&lt;P&gt;[2] &lt;A href="http://lxr.free-electrons.com/source/arch/powerpc/mm/fsl_booke_mmu.c?v=3.10#L127" title="http://lxr.free-electrons.com/source/arch/powerpc/mm/fsl_booke_mmu.c?v=3.10#L127"&gt;Linux/arch/powerpc/mm/fsl_booke_mmu.c - Linux Cross Reference - Free Electrons&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Aleksander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 05 Oct 2015 11:55:21 GMT</pubDate>
    <dc:creator>aleksander</dc:creator>
    <dc:date>2015-10-05T11:55:21Z</dc:date>
    <item>
      <title>[e500] enabling hardware data cache coherency in Linux</title>
      <link>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435318#M2500</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;I am trying to enable hardware enforced coherency in P2020 in order to speed up communication between core and eTSEC.&lt;/P&gt;&lt;P&gt;Unfortunately, I cannot find, how to set/clear proper bits in MAS2 register, using standard linux kernel API. Is there any way to do this clean way, or should I just hack my way out?&lt;/P&gt;&lt;P&gt;The only proof that Linux might set those bits is in [2], function, but that doesn't lead me to any generic kernel api function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[1] &lt;A href="http://www.freescale.com/files/32bit/doc/app_note/AN3544.pdf" title="http://www.freescale.com/files/32bit/doc/app_note/AN3544.pdf"&gt;http://www.freescale.com/files/32bit/doc/app_note/AN3544.pdf&lt;/A&gt; &lt;/P&gt;&lt;P&gt;[2] &lt;A href="http://lxr.free-electrons.com/source/arch/powerpc/mm/fsl_booke_mmu.c?v=3.10#L127" title="http://lxr.free-electrons.com/source/arch/powerpc/mm/fsl_booke_mmu.c?v=3.10#L127"&gt;Linux/arch/powerpc/mm/fsl_booke_mmu.c - Linux Cross Reference - Free Electrons&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Aleksander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Oct 2015 11:55:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435318#M2500</guid>
      <dc:creator>aleksander</dc:creator>
      <dc:date>2015-10-05T11:55:21Z</dc:date>
    </item>
    <item>
      <title>Re: [e500] enabling hardware data cache coherency in Linux</title>
      <link>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435319#M2501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Linux already uses coherent DMA on e500-family chips.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Oct 2015 21:13:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435319#M2501</guid>
      <dc:creator>scottwood</dc:creator>
      <dc:date>2015-10-05T21:13:31Z</dc:date>
    </item>
    <item>
      <title>Re: [e500] enabling hardware data cache coherency in Linux</title>
      <link>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435320#M2502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you show how it's done? I suppose, using functions from&amp;nbsp; &amp;lt;linux/dma-mapping.h&amp;gt; you somehow assures, you set proper MAS2 bits, but I'd like to know where it is done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;Aleksander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Oct 2015 08:38:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435320#M2502</guid>
      <dc:creator>aleksander</dc:creator>
      <dc:date>2015-10-06T08:38:22Z</dc:date>
    </item>
    <item>
      <title>Re: [e500] enabling hardware data cache coherency in Linux</title>
      <link>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435321#M2503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;MAS2[M] is relevant for SMP (and will be set on SMP kernels), not for DMA coherence on e500v2 (e500mc is another matter).&amp;nbsp; As long the device is generating snoops (e.g. TDSEN/TBDSEN/RDSEN/RBDSEN are set), the DMA will be coherent.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Oct 2015 15:23:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/P-Series/e500-enabling-hardware-data-cache-coherency-in-Linux/m-p/435321#M2503</guid>
      <dc:creator>scottwood</dc:creator>
      <dc:date>2015-10-06T15:23:33Z</dc:date>
    </item>
  </channel>
</rss>

