FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5988 Discussions

PCIE surprise removal BIOS crash when reprogramming

AndyRea
Beginner
404 Views

using an Arria 10 with Hard PCIe engine for a DMA application with Ubuntu 20.x Linux as the host OS

when the card is in a newish HP machine, re-programming the FPGA through JTAG once installed and running in the machine causes an instand PCIE surprise down type low level crash which needs a key press to then resume booting

 

older gigabyte machine didn't care so was ok but now that died and am stuck with the HP G4 PC and this issue, it's a bit boring with essentially having to keep the flash boot un-programmed and then having : shutting the machine down, starting it up, booting, JTAG program and reboot to then be able to reload the kernel driver and start the next tests.

 

Does anyone have an easier way of getting past the BIOS PCIe exception or thoughts?  I dont think there are any things I can do in Linux as it seems to be lower levle than this and i have crawled all through the BIOS settings but found nothing that seems to make a difference enabled or disabled

 

there must be an easier way of PCIe dev than this?!

 

thanks for any suggestions

 

Andy

0 Kudos
4 Replies
SengKok_L_Intel
Moderator
345 Views

This is expected the PCIe link will be lost when you reconfigure the FPGA. What you can probably do is mask the Advanced Error Reporting (Uncorrectable Error and correctable error) from the Host (RP) before re-configure the FPGA, so that it will not take any action when the PCIe link is lost.


AndyRea
Beginner
327 Views
How do you do that? I have no idea what that entails
SengKok_L_Intel
Moderator
290 Views

You may use the setpci command, below is the example code, and you need to do it by using the right BDF in the PCIe tree topology.

sudo setpci -s 86:00.0 ECAP_AER+0x08.L=0xffffffff

sudo setpci -s 86:00.0 ECAP_AER+0x14.L=0xffffffff


*86:00.0 is the BDF


SengKok_L_Intel
Moderator
249 Views

If further support is needed in this thread, please post a response within 15 days. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions. 


Reply