From 05c9a850fd21e060efdd54b5699aaf8f3c54d2a4 Mon Sep 17 00:00:00 2001 From: Rob Barnes Date: Tue, 19 Apr 2022 08:39:00 -0600 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/63722 Reviewed-by: Raul Rangel Reviewed-by: Kevin Chiu Reviewed-by: Karthik Ramasubramanian Tested-by: build bot (Jenkins) --- .../google/guybrush/variants/nipperkin/variant.c | 12 +++++++++--- 1 file 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; }