device: Clear lane error status
commitc8a86954f3336da19c96320b6c695ea4a25a8990
authorWilson Chou <Wilson.Chou@quantatw.com>
Mon, 29 Aug 2022 02:08:24 +0000 (29 02:08 +0000)
committerFelix Held <felix-coreboot@felixheld.de>
Mon, 12 Sep 2022 12:41:13 +0000 (12 12:41 +0000)
tree845c42ab3dea7f675524c51d7d461bc17721d7b1
parent46ffccd753f5a350265b8650a83ba51972a5a0cf
device: Clear lane error status

Refer to PCI Express Base rev6.0 v1.0, 4.2.7 Link Training and Status
State Rules, Lane Error Status is normal to record the error when link
training. To make sure Lane Error Status is correct in OS runtime,
add a Kconfig PCIEXP_LANE_ERR_STAT_CLEAR that clears the PCIe lane error
status register at the end of PCIe link training.

Test=On Crater Lake, lspci -vvv shows
bb:01.0 PCI bridge: Intel Corporation Device 352a (rev 03)
(prog-if 00 [Normal decode])
Capabilities: [a30 v1] Secondary PCI Express
LnkCtl3: LnkEquIntrruptEn- PerformEqu-
LaneErrStat: LaneErr at lane: 0

Signed-off-by: Wilson Chou <Wilson.Chou@quantatw.com>
Change-Id: I6344223636409d8fc25e365a6375fc81e69f41a5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67264
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
src/device/Kconfig
src/device/pciexp_device.c
src/include/device/pci_def.h