drm/amd/powerplay: send CGPG smc message if PG is enabled for raven
authorHuang Rui <ray.huang@amd.com>
Thu, 14 Dec 2017 05:38:13 +0000 (13:38 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 May 2018 18:43:38 +0000 (13:43 -0500)
Signed-off-by: Huang Rui <ray.huang@amd.com>
Acked-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c
drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h

index 0f252265a75351f568fdd39b289c0bff74788057..f0727b4f1ebf5f61b90ce2d853b7995a2cbc3788 100644 (file)
@@ -206,12 +206,18 @@ static int smu10_set_power_state_tasks(struct pp_hwmgr *hwmgr, const void *input
 static int smu10_init_power_gate_state(struct pp_hwmgr *hwmgr)
 {
        struct smu10_hwmgr *smu10_data = (struct smu10_hwmgr *)(hwmgr->backend);
+       struct amdgpu_device *adev = hwmgr->adev;
 
        smu10_data->vcn_power_gated = true;
        smu10_data->isp_tileA_power_gated = true;
        smu10_data->isp_tileB_power_gated = true;
 
-       return 0;
+       if (adev->pg_flags & AMD_PG_SUPPORT_GFX_PG)
+               return smum_send_msg_to_smc_with_parameter(hwmgr,
+                                                          PPSMC_MSG_SetGfxCGPG,
+                                                          true);
+       else
+               return 0;
 }
 
 
index 426bff2aad2b1ed9e90d4af9c969dc78073fc0e1..5d07b6ea0a55404fe6b31e9c60c1a52bf5e29ea2 100644 (file)
@@ -75,6 +75,7 @@
 #define PPSMC_MSG_GetMinGfxclkFrequency         0x2C
 #define PPSMC_MSG_GetMaxGfxclkFrequency         0x2D
 #define PPSMC_MSG_SoftReset                     0x2E
+#define PPSMC_MSG_SetGfxCGPG                   0x2F
 #define PPSMC_MSG_SetSoftMaxGfxClk              0x30
 #define PPSMC_MSG_SetHardMinGfxClk              0x31
 #define PPSMC_MSG_SetSoftMaxSocclkByFreq        0x32