Forum Discussion

Arintel's avatar
Arintel
Icon for New Contributor rankNew Contributor
6 years ago

PCIe-MM-DMA: Read/Write DMA & BAR0/2 mutually exclusive?

Hi All,

I'm using the Intel PCIe-MM-DMA IP core. In my design, I would often need to schedule a Write-DMA to transfer data from the FPGA to the host system memory. However, sometimes, when there's no data available in the FPGA, the Write-DMA transfer is left pending for a long time. During this pending time, it seems that the host system cannot do any other PCIe activity with the FPGA such as Read-DMA or BAR0/BAR2 accesses until the pending Write-DMA transfer is completed.

Is this by design or a bug in the PCIe-MM-DMA IP core? Or is this a limitation of PCIe in general?

Thanks,

Ari

4 Replies

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi,

    Just want to understand the problem that you are facing is write-DMA left pending for a long time. Or you are unable to perform the other activity before the write-DMA complete.

    If the first one, then may I know how long it left pending? I guess maybe this is due to the FC setting.

    If the second one, then I think it is expected behaviour. We need to wait for the write-DMA to complete before we can perform other operation.


    • Arintel's avatar
      Arintel
      Icon for New Contributor rankNew Contributor

      Hi,

      Thank you for your reply.

      It's the second case where I'm unable to perform the other activity before the write-DMA complete.

      Is this a limitation of PCIe in general? Or is it possible to customize the IP Core's Descriptor Controller (when generated externally) to allow concurrent Read/Write-DMA and BAR0/2 activities?

      Thanks,

      Ari

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    We do not receive any response from you to the previous question/reply/answer that I have provided. This thread will be transitioned to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.