OSDN Git Service

drm/amd/powerplay: enable/disable gfxoff through smu
authorHuang Rui <ray.huang@amd.com>
Fri, 2 Mar 2018 07:18:54 +0000 (15:18 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 May 2018 18:43:40 +0000 (13:43 -0500)
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-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/amd_powerplay.c

index bd0d387..6976596 100644 (file)
@@ -222,10 +222,19 @@ static int pp_set_powergating_state(void *handle,
 {
        struct amdgpu_device *adev = handle;
        struct pp_hwmgr *hwmgr = adev->powerplay.pp_handle;
+       int ret;
 
        if (!hwmgr || !hwmgr->pm_en)
                return 0;
 
+       if (hwmgr->hwmgr_func->gfx_off_control) {
+               /* Enable/disable GFX off through SMU */
+               ret = hwmgr->hwmgr_func->gfx_off_control(hwmgr,
+                                                        state == AMD_PG_STATE_GATE);
+               if (ret)
+                       pr_err("gfx off control failed!\n");
+       }
+
        if (hwmgr->hwmgr_func->enable_per_cu_power_gating == NULL) {
                pr_info("%s was not implemented.\n", __func__);
                return 0;