Endless "PCIE: Response decoding error" after wake up from standby

Dear Nvidia Guys

We connect FPGA to one PCIE port,but after wake up system from standby, there will be endless PCIE error log.
It could be the issue of PCIE controller’s driver?
(without insmod related pcie device driver)

What could be the problem?

Looking forward to your reply.
Thanks a lot!

CPU: TK1
L4T VERSION: 21.7

Kernel dmesg info:

root@tegra-ubuntu:~# lspci
00:00.0 PCI bridge: NVIDIA Corporation TegraK1 PCIe x4 Bridge (rev a1)
01:00.0 Memory controller: Device 87cd:3211
02:00.0 PCI bridge: NVIDIA Corporation TegraK1 PCIe x1 Bridge (rev a1)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
root@tegra-ubuntu:~# 

/********************************* Go to standby *********************************/

root@tegra-ubuntu:~# echo mem > /sys/power/state
[   35.314663] 
[   35.314663]  backlight_pwm_supend---,state=2 
[   35.328367] Failed lp0 wake enable for irq=52, wake39 ret=-22
[   35.341776] Failed lp0 wake enable for irq=118, wake18 ret=-22
[   35.386800] Failed lp0 wake enable for irq=129, wake41 ret=-22
[   35.392619] Failed lp0 wake enable for irq=129, wake43 ret=-22
[   35.398465] Failed lp0 wake enable for irq=53, wake40 ret=-22
[   35.404197] Failed lp0 wake enable for irq=53, wake42 ret=-22
[   35.413901] 
[   35.413901] serial port=2,gpio 18 set as 0
[   35.419664] 
[   35.419664] serial port=1,gpio 160 set as 0

/************************************ Wake UP ************************************/

[   37.250369] PCIE: Response decoding error, signature: 1002004d
[   37.257037] PCIE: Response decoding error, signature: 100200a1
[   37.262868] PCIE: Response decoding error, signature: 100200a0
[   37.265108] Failed lp0 wake disable for irq=53, wake40 ret=-22
[   37.265111] Failed lp0 wake disable for irq=53, wake42 ret=-22
[   37.267745] Failed lp0 wake disable for irq=129, wake41 ret=-22
[   37.267747] Failed lp0 wake disable for irq=129, wake43 ret=-22
[   37.292156] PCIE: Response decoding error, signature: 10030081
[   37.298001] PCIE: Response decoding error, signature: 10020091
[   37.303891] PCIE: Response decoding error, signature: 10030045
[   37.309737] PCIE: Response decoding error, signature: 10030045
[   37.315569] PCIE: Response decoding error, signature: 10030044
[   37.321414] PCIE: Response decoding error, signature: 321000b8
[   37.327309] PCIE: Response decoding error, signature: 321000b9
[   37.333188] PCIE: Response decoding error, signature: 321000b9
[   37.339081] PCIE: Response decoding error, signature: 321000b8
[   37.344964] PCIE: Response decoding error, signature: 321000b9
[   37.350848] PCIE: Response decoding error, signature: 321000b9

I couldn’t tell you how to fix this, but do you know if the FPGA wakes up as fast as the PCIe?

During normal cold boot, if an FPGA takes too long to respond the system thinks there is nothing on PCIe, and powers this down. Since the Jetson’s PCIe hot plug detect is not implemented, this means resolving the cold boot issue requires either of (a) making the FPGA turn on prior to the rest of the system, or (b) modifying the system to allow late detect. This latter has solutions posted in the forums.

In your case the system is waking up and already knows there is a device on the PCIe bus. It looks like the FPGA is not awake at that moment, or is in an incorrect state to correctly respond. Thus it seems to be a variation of the cold boot problem. Is there any way you can tell, outside of the Jetson, the moment when the FPGA is capable of responding to the PCIe bus? Is this delayed?

Alternatively, do you have a way of waking up the FPGA earlier?

Currently in our design, we must try the latter.

But it’s difficult to search the right solutions you metioned in nvidia forum.
Could you help give me some key words? Thank you very much!

I have fix this problem by add time delay after wake up.