drm/amd: Fix initialization mistake for NBIO 7.11 devices
authorMario Limonciello <mario.limonciello@amd.com>
Mon, 18 Nov 2024 17:46:11 +0000 (11:46 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 20 Nov 2024 15:03:05 +0000 (10:03 -0500)
There is a strapping issue on NBIO 7.11.x that can lead to spurious PME
events while in the D0 state.

Cc: stable@vger.kernel.org
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Link: https://lore.kernel.org/r/20241118174611.10700-2-mario.limonciello@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/nbio_v7_11.c

index 7a9adfd..814ab59 100644 (file)
@@ -275,6 +275,15 @@ static void nbio_v7_11_init_registers(struct amdgpu_device *adev)
        if (def != data)
                WREG32_SOC15(NBIO, 0, regBIF_BIF256_CI256_RC3X4_USB4_PCIE_MST_CTRL_3, data);
 
+       switch (adev->ip_versions[NBIO_HWIP][0]) {
+       case IP_VERSION(7, 11, 0):
+       case IP_VERSION(7, 11, 1):
+       case IP_VERSION(7, 11, 2):
+       case IP_VERSION(7, 11, 3):
+               data = RREG32_SOC15(NBIO, 0, regRCC_DEV0_EPF5_STRAP4) & ~BIT(23);
+               WREG32_SOC15(NBIO, 0, regRCC_DEV0_EPF5_STRAP4, data);
+               break;
+       }
 }
 
 static void nbio_v7_11_update_medium_grain_clock_gating(struct amdgpu_device *adev,