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>
This commit is contained in:
Rob Barnes 2022-04-19 08:39:00 -06:00 committed by Karthik Ramasubramanian
parent 3f7e3ad523
commit 05c9a850fd
1 changed files with 9 additions and 3 deletions

View File

@ -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;
}