[coreboot-gerrit] Change in coreboot[master]: soc/intel/broadwell: If L1 Sub state is disabled, do not set capability

Matt DeVillier (Code Review) gerrit at coreboot.org
Thu Mar 22 22:14:13 CET 2018


Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/25325


Change subject: soc/intel/broadwell: If L1 Sub state is disabled, do not set capability
......................................................................

soc/intel/broadwell: If L1 Sub state is disabled, do not set capability

I finally found out why disabling the L1 sub state option did not
prevent some NVMe drives from locking up in L1 substate. I expect
that the disabled L1 substate initialization that coreboot does
is negated because Linux might itself configure it if it finds the
capability enabled on the PCIe root port.

Removing the capability from the PCIe root port when L1 sub states
are disabled in the configuration should fix the problem.

This was not tested because it's a difficult issue to reproduce and
I do not have the problematic hardware that caused it anymore.

Change-Id: I293a650db307e77cee024a43fbfc81e1d8c86265
Signed-off-by: Youness Alaoui <kakaroto at kakaroto.homelinux.net>
---
M src/soc/intel/broadwell/pcie.c
1 file changed, 4 insertions(+), 1 deletion(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/25/25325/1

diff --git a/src/soc/intel/broadwell/pcie.c b/src/soc/intel/broadwell/pcie.c
index aff66a3..cf25749 100644
--- a/src/soc/intel/broadwell/pcie.c
+++ b/src/soc/intel/broadwell/pcie.c
@@ -558,7 +558,10 @@
 		(1 << 29) | 0x10001);
 
 	/* Set L1 Sub-State Cap ID to 1Eh and Next Cap Pointer to None. */
-	pci_update_config32(dev, 0x200, ~0xffff, 0x001e);
+	if (IS_ENABLED(CONFIG_PCIEXP_L1_SUB_STATE))
+		pci_update_config32(dev, 0x200, ~0xfffff, 0x001e);
+	else
+		pci_update_config32(dev, 0x200, ~0xfffff, 0);
 
 	pci_update_config32(dev, 0x320, ~(3 << 20) & ~(7 << 6),
 		(1 << 20) | (3 << 6));

-- 
To view, visit https://review.coreboot.org/25325
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I293a650db307e77cee024a43fbfc81e1d8c86265
Gerrit-Change-Number: 25325
Gerrit-PatchSet: 1
Gerrit-Owner: Matt DeVillier <matt.devillier at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180322/2eebf0e4/attachment.html>


More information about the coreboot-gerrit mailing list