Article ID: 000076829 Content Type: Troubleshooting Last Reviewed: 07/29/2020

Why does the Intel® Arria® 10 PCIe* Avalon®-MM with DMA example design sometimes cause Linux to crash?

Environment

  • Intel® Arria® 10 FPGAs and SoC FPGAs
  • Intel® Quartus® Prime Pro Edition
  • Intel® Quartus® Prime Standard Edition
  • Intel® Arria® 10 Cyclone® 10 Hard IP for PCI Express
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    This problem may be due to the value of option “Address width of accessible PCIe memory space(TXS)” on the “Avalon-MM Settings” tab in the Intel® Arria® 10 PCIe* Avalon®-MM Hard IP Configuration GUI is set to 22 by default,  but in software the addresses of the DMA descriptor and data might be located at upper 32bit or lower 32 bit address range in the 64bit OS.  Once addresses are in upper 32bit address range, DMA will fail to fetch the descriptor and data, causing DMA driver timeout and Linux to crash.

    Resolution

    To work around this problem, modify the option “Address width of accessible PCIe memory space(TXS)” to 64 in the GUI for the example design, so that the DMA can access the whole 64bit memory space and fetch the descriptor and data correctly regardless of where it is located in system memory.  

    Disclaimer

    1

    All postings and use of the content on this site are subject to Intel.com Terms of Use.