<?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: MCIMX8M-EVK kit PCIe Linux Driver in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804547#M124266</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN style="background-color: #ffffff; color: #3d3d3d;"&gt;Tarek&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I escalated your question internally and received answer:&lt;/P&gt;&lt;P&gt;--------------------------&lt;/P&gt;&lt;P&gt;The internal bus is HW limited to 32-bits. That is why the cap is 32 bits.&lt;/P&gt;&lt;P&gt;---------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Oct 2018 02:49:33 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2018-10-26T02:49:33Z</dc:date>
    <item>
      <title>MCIMX8M-EVK kit PCIe Linux Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804542#M124261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="padding: 0px;"&gt;I am developing a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;pcie&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;device driver for the iMX8M evaluation kit. The end-point is an FPGA which supports 64-bit DMA and a single MSI interrupt.&lt;/P&gt;&lt;P style="padding: 0px;"&gt;&lt;/P&gt;&lt;P style="padding: 0px;"&gt;First of all in my driver I tried to enable&amp;nbsp;DMA_BIT_MASK(64) using Linux&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;pcie&amp;nbsp;framework API:&lt;/P&gt;&lt;P style="padding: 0px;"&gt;pci_set_dma_mask(pdev, DMA_BIT_MASK(64);&amp;nbsp;&lt;/P&gt;&lt;P style="padding: 0px;"&gt;This function is failing and the kernel error message is:&lt;/P&gt;&lt;P style="padding: 0px;"&gt;[&amp;nbsp; +0.008434] Can't support &amp;gt; 32 bit&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;dma.&lt;/P&gt;&lt;P style="padding: 0px;"&gt;&lt;/P&gt;&lt;P style="padding: 0px;"&gt;Second when I tried to enable the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;pcie&amp;nbsp;interrupt&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;using:&lt;/P&gt;&lt;P style="padding: 0px;"&gt;pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);then pci_irq_vector(pdev, 0); this function is returnting Linux IRQ 11.&lt;/P&gt;&lt;P style="padding: 0px;"&gt;So when I assign a handler to this IRQ using request_irq() it returns err -22.&lt;/P&gt;&lt;P style="padding: 0px;"&gt;&lt;/P&gt;&lt;P style="padding: 0px;"&gt;(1) Is it possible to enable&amp;nbsp;&lt;SPAN&gt;DMA_BIT_MASK(64)?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding: 0px;"&gt;&lt;SPAN&gt;(2) Why the kernel is not allowing me to assign an IRQ handler? Is there any PCIe driver example for i.MX8?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding: 0px;"&gt;&lt;/P&gt;&lt;P style="padding: 0px;"&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Oct 2018 16:07:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804542#M124261</guid>
      <dc:creator>Tarek</dc:creator>
      <dc:date>2018-10-17T16:07:08Z</dc:date>
    </item>
    <item>
      <title>Re: MCIMX8M-EVK kit PCIe Linux Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804543#M124262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tarek&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pcie driver example can be found on below link with description in&lt;/P&gt;&lt;P&gt;sect.4.9 PCI Express Root Complex attached Linux Manual.&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/pci/host/pci-imx6.c?h=imx_4.9.88_2.0.0_ga" title="https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/pci/host/pci-imx6.c?h=imx_4.9.88_2.0.0_ga"&gt;pci-imx6.c\host\pci\drivers - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&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>Thu, 18 Oct 2018 00:34:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804543#M124262</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-10-18T00:34:19Z</dc:date>
    </item>
    <item>
      <title>Re: MCIMX8M-EVK kit PCIe Linux Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804544#M124263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your prompt reply. The document gives a high-level information about the RC and it does not answer my questions.&lt;/P&gt;&lt;P&gt;Also, the PCI&amp;nbsp;driver source is for the root-complex which I don't need to change. What I need to do is implement a device driver for the FPGA which acts as a PCIe end-point and is connected to the M.2 connector on the MX8MDQLQEVK.&lt;/P&gt;&lt;P&gt;To simplify my query:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Can the PCIe RC in the IMX8M SoC support 64-bit DMA?&lt;/LI&gt;&lt;LI&gt;How do I enable and assign MSI handler for my end-point?&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help&lt;/P&gt;&lt;P&gt;Tarek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 09:13:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804544#M124263</guid>
      <dc:creator>Tarek</dc:creator>
      <dc:date>2018-10-18T09:13:16Z</dc:date>
    </item>
    <item>
      <title>Re: MCIMX8M-EVK kit PCIe Linux Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804545#M124264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tarek&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;seems 64-bit is supported as described in sect.11.2.5.1.1&lt;/P&gt;&lt;P&gt;Table 10-1 DMA Module Features i.MX8MDQ Reference Manual &lt;BR /&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/www.nxp.com/docs/en/reference-manual/IMX8MDQLQRM.pdf" rel="nofollow" target="_blank"&gt;https://www.nxp.com/docs/en/reference-manual/IMX8MDQLQRM.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;How do I enable and assign MSI handler for my end-point?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please refer to common linux tutorials&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://lwn.net/Articles/44139/" title="https://lwn.net/Articles/44139/"&gt;MSI-HOWTO.txt [LWN.net]&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://stackoverflow.com/questions/44178589/msi-register-for-pcie-device-driver" title="https://stackoverflow.com/questions/44178589/msi-register-for-pcie-device-driver"&gt;MSI Register for pcie device driver - Stack Overflow&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 10:26:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804545#M124264</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-10-18T10:26:03Z</dc:date>
    </item>
    <item>
      <title>Re: MCIMX8M-EVK kit PCIe Linux Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804546#M124265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If i.MX8M supports 64-bit why is it forced to 32 in fsl-imx8mq.dtsi file?&lt;/P&gt;&lt;P&gt;dma_cap: dma_cap {&lt;BR /&gt;compatible = "dma-capability";&lt;BR /&gt;only-dma-mask32 = &amp;lt;1&amp;gt;;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8mq.dtsi?h=imx_4.9.88_2.0.0_ga#n1243" title="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8mq.dtsi?h=imx_4.9.88_2.0.0_ga#n1243"&gt;fsl-imx8mq.dtsi\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because of this device tree setting the kernel will not accept setting the DMA mask to 64-bit and gives this error:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;[&amp;nbsp; +0.008434] Can't support &amp;gt; 32 bit&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;dma&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Can you please confirm that removing this line: "&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; color: #3d3d3d;"&gt;only-dma-mask32 = &amp;lt;1&amp;gt;;" w&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; color: #3d3d3d;"&gt;ill work fine and not cause any issues?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #3d3d3d;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #3d3d3d;"&gt;Tarek&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 15:09:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804546#M124265</guid>
      <dc:creator>Tarek</dc:creator>
      <dc:date>2018-10-18T15:09:47Z</dc:date>
    </item>
    <item>
      <title>Re: MCIMX8M-EVK kit PCIe Linux Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804547#M124266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN style="background-color: #ffffff; color: #3d3d3d;"&gt;Tarek&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I escalated your question internally and received answer:&lt;/P&gt;&lt;P&gt;--------------------------&lt;/P&gt;&lt;P&gt;The internal bus is HW limited to 32-bits. That is why the cap is 32 bits.&lt;/P&gt;&lt;P&gt;---------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2018 02:49:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804547#M124266</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-10-26T02:49:33Z</dc:date>
    </item>
    <item>
      <title>Re: MCIMX8M-EVK kit PCIe Linux Driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804548#M124267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, Terak&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;have trapped in&amp;nbsp;the same problem: request_irq() return errno -22.&lt;/P&gt;&lt;P&gt;Have you got solution now ?&lt;/P&gt;&lt;P&gt;Thanks !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jun 2020 03:55:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MCIMX8M-EVK-kit-PCIe-Linux-Driver/m-p/804548#M124267</guid>
      <dc:creator>mcggoal</dc:creator>
      <dc:date>2020-06-22T03:55:06Z</dc:date>
    </item>
  </channel>
</rss>

