coreboot/src
Youness Alaoui 06704b2270 UPSTREAM: pciexp_device: Prevent race condition with retrain link
The PCIe specification[1] describes a race condition that
can occur when using the Retrain Link bit in the Link
Control Register.

The race condition is avoided by checking the retrain link
bit in the link status register and waiting until it is
set to 0, before initiating a new link retraining.

[1] PCI Express Base Specification Revision 3.0
    Page 633

BUG=none
BRANCH=none
TEST=none

Change-Id: I9ebdb696f63706590bf864f4b3e11304a1f7a1b4
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: bb5fb64e11
Original-Change-Id: I9d5840fb9a6e63838b5a4084d3bbe483f1d870ed
Original-Signed-off-by: Youness Alaoui <youness.alaoui@puri.sm>
Original-Reviewed-on: https://review.coreboot.org/19556
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Original-Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/531202
Commit-Ready: Patrick Georgi <pgeorgi@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2017-06-12 14:15:59 -07:00
..
acpi
arch UPSTREAM: arch/x86/acpigen: Add additional opcodes 2017-06-12 08:47:55 -07:00
commonlib UPSTREAM: commonlib: Move drivers/storage into commonlib/storage 2017-05-15 08:17:50 -07:00
console UPSTREAM: console/flashsconsole: Add spi flash console for debugging 2017-06-05 18:33:49 -07:00
cpu UPSTREAM: cpu/intel/model_206ax: Use tsc monotonic timer 2017-06-12 14:15:54 -07:00
device UPSTREAM: pciexp_device: Prevent race condition with retrain link 2017-06-12 14:15:59 -07:00
drivers UPSTREAM: rx6110sa: Add more chip configuration options to chip 2017-06-12 14:15:52 -07:00
ec UPSTREAM: Kconfig: Indent help text 2017-06-12 08:47:52 -07:00
include UPSTREAM: device/dram/ddr2.c: Fix is_registered_ddr2 2017-06-12 14:15:56 -07:00
lib UPSTREAM: src: change coreboot to lowercase 2017-06-12 08:47:50 -07:00
mainboard UPSTREAM: purism/librem13v1: Rename librem13 to librem13v1 2017-06-12 14:15:59 -07:00
northbridge UPSTREAM: nb/intel/fsp_sandybridge/gma: Use common init_igd_opregion method 2017-06-12 14:15:57 -07:00
soc UPSTREAM: soc/baytrail: fix ACPI table by recollecting TOLM 2017-06-12 14:15:58 -07:00
southbridge UPSTREAM: spi: Remove unused/unnecessary spi_init function definitions 2017-06-12 08:47:53 -07:00
superio UPSTREAM: superio/winbond/*/header: Include <arch/io.h> 2017-06-05 18:33:49 -07:00
vboot UPSTREAM: vboot: Separate board name and version number in FWID with a dot 2017-05-02 20:24:01 -07:00
vendorcode UPSTREAM: src: change coreboot to lowercase 2017-06-12 08:47:50 -07:00
Kconfig UPSTREAM: Kconfig: Move CONFIG_VIDEO_MB 2017-05-29 01:59:19 -07:00