There is a strapping issue on NBIO 7.11.x that can lead to spurious PME
events while in the D0 state.

Signed-off-by: Mario Limonciello <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/nbio_v7_11.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/nbio_v7_11.c 
b/drivers/gpu/drm/amd/amdgpu/nbio_v7_11.c
index 7a9adfda5814..814ab59fdd4a 100644
--- a/drivers/gpu/drm/amd/amdgpu/nbio_v7_11.c
+++ b/drivers/gpu/drm/amd/amdgpu/nbio_v7_11.c
@@ -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,
-- 
2.34.1

Reply via email to