NTB: Fix an error in get link status
authorJiasen Lin <linjiasen@hygon.cn>
Thu, 7 Nov 2019 09:35:36 +0000 (01:35 -0800)
committerJon Mason <jdmason@kudzu.us>
Fri, 13 Mar 2020 00:41:25 +0000 (20:41 -0400)
commitbb81bf62151031df004864eabee0431c8b8e9064
tree734a4d8728ef138c5bd759f0b8e39a3571106391
parentbb6d3fb354c5ee8d6bde2d576eb7220ea09862b9
NTB: Fix an error in get link status

The offset of PCIe Capability Header for AMD and HYGON NTB is 0x64,
but the macro which named "AMD_LINK_STATUS_OFFSET" is defined as 0x68.
It is offset of Device Capabilities Reg rather than Link Control Reg.

This code trigger an error in get link statsus:

cat /sys/kernel/debug/ntb_hw_amd/0000:43:00.1/info
LNK STA -               0x8fa1
Link Status -           Up
Link Speed -            PCI-E Gen 0
Link Width -            x0

This patch use pcie_capability_read_dword to get link status.
After fix this issue, we can get link status accurately:

cat /sys/kernel/debug/ntb_hw_amd/0000:43:00.1/info
LNK STA -               0x11030042
Link Status -           Up
Link Speed -            PCI-E Gen 3
Link Width -            x16

Fixes: a1b3695820aa4 ("NTB: Add support for AMD PCI-Express Non-Transparent Bridge")
Signed-off-by: Jiasen Lin <linjiasen@hygon.cn>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/hw/amd/ntb_hw_amd.c
drivers/ntb/hw/amd/ntb_hw_amd.h