Hi,
In our custom C6672 Board we are facing a “Malformed TLP” issue whenever we issue a “Memory Read” request TLP from PCIe Endpoint to PCIe Root complex.
Test Setup: C6672 is configured as root complex and FPGA is configured as endpoint, and there is no any PCIe switch between them.
Observation:
- Root Complex(C6672) configuration is mentioned in the attached “PCIe_RC_EP_ConfigurationRegisters_And_Error_Logs.docx” file.
- End Point(FPGA) configuration is mentioned in the attached “PCIe_RC_EP_ConfigurationRegisters_And_Error_Logs.docx” file.
- With this RC and EP configuration, PCIe link is up
- From root complex we are able to read and write to end point successfully, but from the end point we are not able to read/write to the root complex
- Observation when the end point fails to read/write to RC is as follows,
-
- Register 0x21801104 (“PCI Express Uncorrectable Error Status Register”) shows the “Malformed TLP error status” as mentioned in the attached “PCIe_RC_EP_ConfigurationRegisters_And_Error_Logs.docx” file
- Registers 0x2180111C, 0x21801120 and 0x21801124 shows the actual TLP header transmitted from the endpoint to the root complex as mentioned in the attached “PCIe_RC_EP_ConfigurationRegisters_And_Error_Logs.docx” file
We have cross verified the inbound window configuration at RC and the read request TLP header information and everything seems to be correct but still we are getting the “Malformed TLP” error.
I kindly request you to check the RC and EP configuration as mentioned in the attached files and please let us know where we are making the mistake.
With Regards,
R.Senthilkumar