Forum Discussion
Arria 10 - Avalon MM DMA for PCIe crashes the PC when re-initializing the descriptor controller
- 3 years ago
Hi,
The pin_perst is the power on reset of the FPGA board, when you reboot the host, it will toggle the pin_perst. Where the npor is driven by soft reset (user application), but the soft reset will also bring down the link, once link being bring down, we need to rebooting the PC.
I have a discussion with another PCIe specialty, it seem like there is no other alternative to reset the DMA controller alone beside reboot the PC.
Hope this answered your question.
Regards,
Wincent_Intel
Update:
As I learned from another post https://community.intel.com/t5/FPGA-Intellectual-Property/How-to-stop-or-cancel-an-Read-Write-AVMM-DMA-operation-after-it/m-p/1288312,
"One possible solution is to generate the Secondary Bus Reset from the host. It is available at the Bridge Control register Bit 6".
This indeed resets the DMA descriptor controller registers, and I could use it as a possible workaround.
The control register resides in the bridge before the actual device:
$ lspci -d 1172:e003 -PP 40:03.1/41:00.0 Non-VGA unclassified device: Altera Corporation Device e003 $ sudo setpci -s40:03.1 BRIDGE_CONTROL 0012 $ sudo setpci -s40:03.1 BRIDGE_CONTROL=0052 $ sudo setpci -s40:03.1 BRIDGE_CONTROL=0012
Still a reset bit on the card itself, or a non-crashing initialization sequence would be preferred!