We'd advice to follow the steps shown below before running PCIe transaction tests.
The steps below assumes you are using PCIe controller 2. If you are using PCIe controller 1, replace "0x9" with "0xa"
a) Write 0x0000_0000 to PEX2 config space offset 0x4D0 as shown below:
a.i) Write "0x840000d0" at "0xCCSRBAR + 0x9000".
a.ii) Write "0x0" at "0xCCSRBAR + 0x9004"
b) Read-Modify-Write to set the upper 16-bits of the little endian hidden register at PEX2 config space offset 0x4CC to 0x0110 (little endian), which is 0x1001 (big endian)
b.i) Write "0x840000cc" at "0xCCSRBAR + 0x9000"
b.ii) Read "0xCCSRBAR + 0x9004". Let's say the data read is "0x02010000"
b.iii) Write "02011001" at "0xCCSRBAR + 0x9004"
c) Read back from PEX2 config space offset 0x4CC. The new value of this register should be 0x0000_0011 (little endian) = 0x1100_0000 (big endian)
c.i) Write "0x840000cc" at "0xCCSRBAR + 0x9000".
a.ii) Read "0xCCSRBAR + 0x9004". It should be 0x11000000
d) Perform your PCIe performance tests.