drm/amdgpu: Enable SDMA LS for Vangogh
authorJinzhou Su <Jinzhou.Su@amd.com>
Fri, 23 Apr 2021 08:29:14 +0000 (16:29 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 29 Apr 2021 03:35:49 +0000 (23:35 -0400)
Add flags AMD_CG_SUPPORT_SDMA_LS for Vangogh.
Start to open sdma ls from firmware version 70.

Signed-off-by: Jinzhou Su <Jinzhou.Su@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/nv.c
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c

index 9c4f232e81c04f4e027398a44953c46d5b475d0b..82a380be8368c04fe8939049fc22c979d1d7f6c8 100644 (file)
@@ -1121,6 +1121,7 @@ static int nv_common_early_init(void *handle)
                        AMD_CG_SUPPORT_GFX_FGCG |
                        AMD_CG_SUPPORT_VCN_MGCG |
                        AMD_CG_SUPPORT_SDMA_MGCG |
+                       AMD_CG_SUPPORT_SDMA_LS |
                        AMD_CG_SUPPORT_JPEG_MGCG;
                adev->pg_flags = AMD_PG_SUPPORT_GFX_PG |
                        AMD_PG_SUPPORT_VCN |
index 4ba7fce4c0b430e24435a92cbffd0f78ef927691..7c4e0586e26d1d9b34b0714d909ddb89bf1b0939 100644 (file)
@@ -1593,6 +1593,10 @@ static void sdma_v5_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
        int i;
 
        for (i = 0; i < adev->sdma.num_instances; i++) {
+
+               if (adev->sdma.instance[i].fw_version < 70 && adev->asic_type == CHIP_VANGOGH)
+                       adev->cg_flags &= ~AMD_CG_SUPPORT_SDMA_LS;
+
                if (enable && (adev->cg_flags & AMD_CG_SUPPORT_SDMA_LS)) {
                        /* Enable sdma mem light sleep */
                        def = data = RREG32(sdma_v5_2_get_reg_offset(adev, i, mmSDMA0_POWER_CNTL));