drm/amdgpu: Disable DPM in virtualization

This patch is used for virtualization support. In virtualization,
only SMU manager is needed, DPM should be disabled. This is a
use case for commit 2f9346b6f984
("drm/amdgpu/powerplay: pp module only enable smu when dpm disabled.")

Signed-off-by: Trigger Huang <trigger.huang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Trigger Huang 2016-11-16 10:13:45 -05:00 committed by Alex Deucher
parent 617859e076
commit 7b1e8cad1f
2 changed files with 7 additions and 4 deletions

View File

@ -184,7 +184,7 @@ static int amdgpu_pp_hw_init(void *handle)
ret = adev->powerplay.ip_funcs->hw_init(
adev->powerplay.pp_handle);
if (amdgpu_dpm != 0)
if ((amdgpu_dpm != 0) && !amdgpu_sriov_vf(adev))
adev->pm.dpm_enabled = true;
return ret;

View File

@ -911,7 +911,8 @@ static int amd_pp_instance_init(struct amd_pp_init *pp_init,
amd_pp->pp_handle = handle;
if (amdgpu_dpm == 0)
if ((amdgpu_dpm == 0)
|| cgs_is_virtualization_enabled(pp_init->device))
return 0;
ret = hwmgr_init(pp_init, handle);
@ -940,7 +941,8 @@ static int amd_pp_instance_fini(void *handle)
if (instance == NULL)
return -EINVAL;
if (amdgpu_dpm != 0) {
if ((amdgpu_dpm != 0)
&& !cgs_is_virtualization_enabled(instance->smu_mgr->device)) {
eventmgr_fini(instance->eventmgr);
hwmgr_fini(instance->hwmgr);
}
@ -1004,7 +1006,8 @@ int amd_powerplay_reset(void *handle)
hw_init_power_state_table(instance->hwmgr);
if (amdgpu_dpm == 0)
if ((amdgpu_dpm == 0)
|| cgs_is_virtualization_enabled(instance->smu_mgr->device))
return 0;
if (eventmgr == NULL || eventmgr->pp_eventmgr_init == NULL)