drm/amdgpu: add powerplay support for CI asics
authorRex Zhu <Rex.Zhu@amd.com>
Tue, 12 Sep 2017 05:37:40 +0000 (13:37 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 26 Sep 2017 17:07:00 +0000 (13:07 -0400)
currently, for CI asics,
use dpm by default, amdgpu.dpm=-1.
when set amdgpu.dpm=1, enable powplay.
when set amdgpu.dpm=0, disable both dpm and powerplay.

when powerplay is stable on CI asics, ci_dpm will
be removed.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c

index 5cd5b8e..2d2f096 100644 (file)
@@ -93,8 +93,16 @@ static int amdgpu_pp_early_init(void *handle)
 #ifdef CONFIG_DRM_AMDGPU_CIK
        case CHIP_BONAIRE:
        case CHIP_HAWAII:
-               amd_pp->ip_funcs = &ci_dpm_ip_funcs;
-               amd_pp->pp_funcs = &ci_dpm_funcs;
+               if (amdgpu_dpm == -1) {
+                       amd_pp->ip_funcs = &ci_dpm_ip_funcs;
+                       amd_pp->pp_funcs = &ci_dpm_funcs;
+               } else {
+                       adev->pp_enabled = true;
+                       if (amdgpu_create_pp_handle(adev))
+                               return -EINVAL;
+                       amd_pp->ip_funcs = &pp_ip_funcs;
+                       amd_pp->pp_funcs = &pp_dpm_funcs;
+               }
                break;
        case CHIP_KABINI:
        case CHIP_MULLINS: