From d6d4c5e3556d30991ee5bec098d1dbf88bfeae5f Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Tue, 20 Feb 2024 10:41:14 -0700 Subject: [PATCH] mb/system76/adl,rpl: Add timeouts for PCIe 3.0 RPs The FSP may fail to detect PCIe 4.0 devices in PCIe 3.0 slots on S3 resume. This issue has only been experienced on lemp12, and only with Samsung drives, but implies it could happen on other systems or with other drives as well. Tested on lemp12 with Samsung 980 PRO and 990 PRO drives. Change-Id: Ieacab03f6cb0943ed2a589e9bb7669d3d8fd45ae Signed-off-by: Tim Crawford --- src/mainboard/system76/adl/variants/darp8/overridetree.cb | 1 + src/mainboard/system76/adl/variants/gaze17-3050/overridetree.cb | 1 + .../system76/adl/variants/gaze17-3060-b/overridetree.cb | 1 + src/mainboard/system76/adl/variants/lemp11/overridetree.cb | 1 + src/mainboard/system76/rpl/variants/gaze18/overridetree.cb | 1 + src/mainboard/system76/rpl/variants/lemp12/overridetree.cb | 1 + 6 files changed, 6 insertions(+) diff --git a/src/mainboard/system76/adl/variants/darp8/overridetree.cb b/src/mainboard/system76/adl/variants/darp8/overridetree.cb index b50c5f8538..f1007c06bd 100644 --- a/src/mainboard/system76/adl/variants/darp8/overridetree.cb +++ b/src/mainboard/system76/adl/variants/darp8/overridetree.cb @@ -154,6 +154,7 @@ chip soc/intel/alderlake .clk_src = 4, .clk_req = 4, .flags = PCIE_RP_LTR, + .pcie_rp_detect_timeout_ms = 50, }" # FIXME: Drives do not exit D3cold on S3 exit #chip soc/intel/common/block/pcie/rtd3 diff --git a/src/mainboard/system76/adl/variants/gaze17-3050/overridetree.cb b/src/mainboard/system76/adl/variants/gaze17-3050/overridetree.cb index 785a020da7..c4e5916de8 100644 --- a/src/mainboard/system76/adl/variants/gaze17-3050/overridetree.cb +++ b/src/mainboard/system76/adl/variants/gaze17-3050/overridetree.cb @@ -102,6 +102,7 @@ chip soc/intel/alderlake .clk_src = 1, .clk_req = 1, .flags = PCIE_RP_LTR, + .pcie_rp_detect_timeout_ms = 50, }" end device ref pcie_rp9 on diff --git a/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb b/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb index dcf60b50cf..d966055954 100644 --- a/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb +++ b/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb @@ -134,6 +134,7 @@ chip soc/intel/alderlake .clk_src = 1, .clk_req = 1, .flags = PCIE_RP_LTR, + .pcie_rp_detect_timeout_ms = 50, }" end device ref gbe on end diff --git a/src/mainboard/system76/adl/variants/lemp11/overridetree.cb b/src/mainboard/system76/adl/variants/lemp11/overridetree.cb index d31e6a4255..1e652483a9 100644 --- a/src/mainboard/system76/adl/variants/lemp11/overridetree.cb +++ b/src/mainboard/system76/adl/variants/lemp11/overridetree.cb @@ -138,6 +138,7 @@ chip soc/intel/alderlake .clk_src = 1, .clk_req = 1, .flags = PCIE_RP_LTR, + .pcie_rp_detect_timeout_ms = 50, }" # FIXME: Drives do not exit D3cold on S3 exit #chip soc/intel/common/block/pcie/rtd3 diff --git a/src/mainboard/system76/rpl/variants/gaze18/overridetree.cb b/src/mainboard/system76/rpl/variants/gaze18/overridetree.cb index dc0e8d8ec2..4c115950d0 100644 --- a/src/mainboard/system76/rpl/variants/gaze18/overridetree.cb +++ b/src/mainboard/system76/rpl/variants/gaze18/overridetree.cb @@ -63,6 +63,7 @@ chip soc/intel/alderlake .clk_src = 1, .clk_req = 1, .flags = PCIE_RP_LTR | PCIE_RP_AER, + .pcie_rp_detect_timeout_ms = 50, }" end device ref pcie_rp9 on diff --git a/src/mainboard/system76/rpl/variants/lemp12/overridetree.cb b/src/mainboard/system76/rpl/variants/lemp12/overridetree.cb index 593ac7c014..34950cc3c6 100644 --- a/src/mainboard/system76/rpl/variants/lemp12/overridetree.cb +++ b/src/mainboard/system76/rpl/variants/lemp12/overridetree.cb @@ -79,6 +79,7 @@ chip soc/intel/alderlake .clk_src = 1, .clk_req = 1, .flags = PCIE_RP_LTR, + .pcie_rp_detect_timeout_ms = 50, }" end end