From 0f8df16b57f864ad29385e7d90ac9a96acbea4af Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Wed, 24 May 2017 17:47:27 -0400 Subject: [PATCH] UPSTREAM: pciexp_device: Remove useless write on a read-only register The Role-Based Error Reporting is not a configurable field, it's a read only field in the Device Capability register. This code was old and comes from commit f6eb88ad but evidently is not useful in any way. The PCIe Specification [1] states that it's read-only and must always be set to 1. I have also done tests on purism/librem13 hardware, trying to change that value, without any success. [1]: PCI Express Base Specification Revision 3.0 Page 612 BUG=none BRANCH=none TEST=none Change-Id: Id4dff17957fbd6e1f54ab0917d4f9c7b557149d8 Signed-off-by: Patrick Georgi Original-Commit-Id: 2f48b7b1e9e3d0a631c7d8951c1a5b5dc748df09 Original-Change-Id: I729617a5c6f4f52dfc4c422df78379b309066399 Original-Signed-off-by: Youness Alaoui Original-Reviewed-on: https://review.coreboot.org/19901 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Philippe Mathieu-Daud Original-Reviewed-by: Martin Roth Reviewed-on: https://chromium-review.googlesource.com/531684 Commit-Ready: Patrick Georgi Tested-by: Patrick Georgi Reviewed-by: Patrick Georgi --- src/device/pciexp_device.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/device/pciexp_device.c b/src/device/pciexp_device.c index bc8206a6d4..b7ade0ad76 100644 --- a/src/device/pciexp_device.c +++ b/src/device/pciexp_device.c @@ -361,11 +361,6 @@ static void pciexp_enable_aspm(device_t root, unsigned root_cap, lnkctl = pci_read_config16(endp, endp_cap + PCI_EXP_LNKCTL); lnkctl |= apmc; pci_write_config16(endp, endp_cap + PCI_EXP_LNKCTL, lnkctl); - - /* Enable ASPM role based error reporting. */ - devcap = pci_read_config32(endp, endp_cap + PCI_EXP_DEVCAP); - devcap |= PCI_EXP_DEVCAP_RBER; - pci_write_config32(endp, endp_cap + PCI_EXP_DEVCAP, devcap); } printk(BIOS_INFO, "ASPM: Enabled %s\n", aspm_type_str[apmc]);