drm/amd/amdgpu: Fix the CGCG setting is overwritten for SRIOV.
authorGavin Wan <Gavin.Wan@amd.com>
Thu, 21 May 2020 19:35:28 +0000 (19:35 +0000)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 28 May 2020 18:00:51 +0000 (14:00 -0400)
For SRIOV, since the CP_INT_CNTL_RING0 is programed on host side.
The Guest should not program CP_INT_CNTL_RING0 again.

Signed-off-by: Gavin Wan <Gavin.Wan@amd.com>
Reviewed-by: Monk Liu <Monk.Liu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c

index 19de77c..df2d2f6 100644 (file)
@@ -4558,7 +4558,12 @@ static void gfx_v10_0_constants_init(struct amdgpu_device *adev)
 static void gfx_v10_0_enable_gui_idle_interrupt(struct amdgpu_device *adev,
                                               bool enable)
 {
-       u32 tmp = RREG32_SOC15(GC, 0, mmCP_INT_CNTL_RING0);
+       u32 tmp;
+
+       if (amdgpu_sriov_vf(adev))
+               return;
+
+       tmp = RREG32_SOC15(GC, 0, mmCP_INT_CNTL_RING0);
 
        tmp = REG_SET_FIELD(tmp, CP_INT_CNTL_RING0, CNTX_BUSY_INT_ENABLE,
                            enable ? 1 : 0);