OSDN Git Service

drm/amd/pm: enable DCS
authorKenneth Feng <kenneth.feng@amd.com>
Wed, 3 Feb 2021 10:40:52 +0000 (18:40 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 9 Feb 2021 20:27:57 +0000 (15:27 -0500)
Enable DCS

V1: Enable Async DCS.
V2: Add the ppfeaturemask bit to enable from the modprobe parameter.
V3:
1. add the flag to skip APU support.
2. remove the hunk for workload selection since
it doesn't impact the function.

Signed-off-by: Kenneth Feng <kenneth.feng@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/amd/include/amd_shared.h
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c

index 8fde231..9173da3 100644 (file)
@@ -132,8 +132,12 @@ uint amdgpu_pg_mask = 0xffffffff;
 uint amdgpu_sdma_phase_quantum = 32;
 char *amdgpu_disable_cu = NULL;
 char *amdgpu_virtual_display = NULL;
-/* OverDrive(bit 14) disabled by default*/
-uint amdgpu_pp_feature_mask = 0xffffbfff;
+
+/*
+ * OverDrive(bit 14) disabled by default
+ * GFX DCS(bit 19) disabled by default
+ */
+uint amdgpu_pp_feature_mask = 0xfff7bfff;
 uint amdgpu_force_long_training;
 int amdgpu_job_hang_limit;
 int amdgpu_lbpw = -1;
index 9676016..43ed629 100644 (file)
@@ -213,6 +213,7 @@ enum PP_FEATURE_MASK {
        PP_ACG_MASK = 0x10000,
        PP_STUTTER_MODE = 0x20000,
        PP_AVFS_MASK = 0x40000,
+       PP_GFX_DCS_MASK = 0x80000,
 };
 
 enum DC_FEATURE_MASK {
index cf59f22..fd090d0 100644 (file)
@@ -261,6 +261,11 @@ sienna_cichlid_get_allowed_feature_mask(struct smu_context *smu,
                *(uint64_t *)feature_mask |= FEATURE_MASK(FEATURE_DPM_GFX_GPO_BIT);
        }
 
+       if ((adev->pm.pp_feature & PP_GFX_DCS_MASK) &&
+           (adev->asic_type > CHIP_SIENNA_CICHLID) &&
+           !(adev->flags & AMD_IS_APU))
+               *(uint64_t *)feature_mask |= FEATURE_MASK(FEATURE_GFX_DCS_BIT);
+
        if (adev->pm.pp_feature & PP_MCLK_DPM_MASK)
                *(uint64_t *)feature_mask |= FEATURE_MASK(FEATURE_DPM_UCLK_BIT)
                                        | FEATURE_MASK(FEATURE_MEM_VDDCI_SCALING_BIT)