How to check PCIe LTSSM state on TX1 ?

Hi Guys,

Our product sometimes PCIe link training fails.
So, if PCIe link training fails, how to get the last LTSSM state (Detect, Disabled, L0 etc …) or link training fail reason on TX1 kernel ?


Alleen Wang

I can’t answer the specific question, but if the card has AER then lspci might show something. If you run “lspci” by itself it’ll show an ID based on slot number. Using an example slot ID of “01:00.0” here is how you would get a verbose listing:

sudo lspci -s 01:00.0 -vvv


Thanks for your reply.
But my case was sometimes PCIEx4 link fail.
When I check the uboot output log, the function of “tegra_pcie_port_check_link” was show check link fails.
But I only read link fail result, not show fail reason.

I know the “lspci” can show all PCIE information. But when I occur this issue, lspci can’t to show anything.

So, I want to check LTSSM state, when I occur the PCIe link fail issue.
Can I read LTSSM state or link fail reason from the register ?


Alleen Wang

PCIe uses a control channel separate from the data channels. If the signal is bad enough that the control channel is not visible, then this would be one reason the card is completely invisible.

Someone else will need to answer about how to read that register, but I would guess if the card is completely invisible any register in the Jetson related to detecting the presence of a PCIe slot card would match that of having no card at all. This would tend to imply a signal issue instead of a software issue.