It is mostly because of ASPM L1 being enabled. You can give it a try by disabling ASPM using the following methods. Many of the off the shelf PCIe devices have issues with ASPM states (even though they advertise their support for ASPM states)
- Disabling ASPM can be achieved in the following ways for a platform
- Disabling from the beginning
- Appending ‘pcie_aspm=off’ to the kernel command line
- Removing “CONFIG_PCIEASPM_POWERSAVE=y” and setting “CONFIG_PCIEASPM_PERFORMANCE=y” in the kernel configuration
- Disabling after system boots to console
- Executing the below command once the system boots to console
- echo “performance” > /sys/module/pcie_aspm/parameters/policy
- Executing the below command once the system boots to console