summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorRob Barnes <robbarnes@google.com>2022-04-19 08:39:00 -0600
committerKarthik Ramasubramanian <kramasub@google.com>2022-04-21 17:01:27 +0000
commit05c9a850fd21e060efdd54b5699aaf8f3c54d2a4 (patch)
tree167cbebe7f46ed969b4a9fd33f6b563ae0c715b9 /src/mainboard
parent3f7e3ad52357ada278b087331a1284b730d711a6 (diff)
mb/google/nipperkin: Fix WLAN to GEN2 speed
Fix WLAN PCIE speed to GEN2. Dynamic switching between speeds is causing the PSP to hang when resuming from S0ix suspend. The root cause is still under investigation. Just disabling PSPP fixes the hang but causes poor PLT performance. BUG=b:228830362 BRANCH=guybrush TEST=suspend_stress_test on AC and DC Change-Id: I988365e51aca0d6515c5605b3032521cf59d8d30 Signed-off-by: Rob Barnes <robbarnes@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/63722 Reviewed-by: Raul Rangel <rrangel@chromium.org> Reviewed-by: Kevin Chiu <kevin.chiu.17802@gmail.com> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/guybrush/variants/nipperkin/variant.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mainboard/google/guybrush/variants/nipperkin/variant.c b/src/mainboard/google/guybrush/variants/nipperkin/variant.c
index b70545e733..48e768d182 100644
--- a/src/mainboard/google/guybrush/variants/nipperkin/variant.c
+++ b/src/mainboard/google/guybrush/variants/nipperkin/variant.c
@@ -7,7 +7,13 @@ void variant_update_dxio_descriptors(fsp_dxio_descriptor *dxio_descriptors)
{
dxio_descriptors[WLAN].link_aspm_L1_1 = false;
dxio_descriptors[WLAN].link_aspm_L1_2 = false;
- /* Disable PSPP to avoid S0ix hangs - b/228830362 */
- memset(dxio_descriptors[WLAN].port_params, 0,
- sizeof(dxio_descriptors[WLAN].port_params));
+
+ /* Fix link speed to GEN2 - b/228830362 */
+ dxio_descriptors[WLAN].link_speed_capability = GEN2;
+ dxio_descriptors[WLAN].port_params[0] = PP_PSPP_AC;
+ /* AC_DirectIndirect[11:8], AC_MaxPreferredSpeed[7:4], AC_MinPreferredSpeed[3:0] */
+ dxio_descriptors[WLAN].port_params[1] = 0x122;
+ dxio_descriptors[WLAN].port_params[2] = PP_PSPP_DC;
+ /* DC_DirectIndirect[11:8], DC_MaxPreferredSpeed[7:4], DC_MinPreferredSpeed[3:0] */
+ dxio_descriptors[WLAN].port_params[3] = 0x122;
}