Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu: Use dpm_enabled as dpm state flag

driver will set dpm_enabled to true only when
module parameter amdgpu_dpm not equal to 0 and
smu hw initialize successfully.

Reviewed-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Rex Zhu and committed by
Alex Deucher
b13aa109 64f6db77

+9 -8
+1 -1
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
··· 428 428 if (size & 3 || *pos & 0x3) 429 429 return -EINVAL; 430 430 431 - if (amdgpu_dpm == 0) 431 + if (!adev->pm.dpm_enabled) 432 432 return -EINVAL; 433 433 434 434 /* convert offset to sensor number */
+1 -1
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
··· 704 704 struct pp_gpu_power query = {0}; 705 705 int query_size = sizeof(query); 706 706 707 - if (amdgpu_dpm == 0) 707 + if (!adev->pm.dpm_enabled) 708 708 return -ENOENT; 709 709 710 710 switch (info->sensor_info.type) {
+1 -1
drivers/gpu/drm/amd/amdgpu/ci_dpm.c
··· 6255 6255 int ret; 6256 6256 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 6257 6257 6258 - if (!amdgpu_dpm) 6258 + if (!adev->pm.dpm_enabled) 6259 6259 return 0; 6260 6260 6261 6261 /* init the sysfs and debugfs files late */
+1 -1
drivers/gpu/drm/amd/amdgpu/kv_dpm.c
··· 2974 2974 /* powerdown unused blocks for now */ 2975 2975 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 2976 2976 2977 - if (!amdgpu_dpm) 2977 + if (!adev->pm.dpm_enabled) 2978 2978 return 0; 2979 2979 2980 2980 kv_dpm_powergate_acp(adev, true);
+1 -1
drivers/gpu/drm/amd/amdgpu/si_dpm.c
··· 7580 7580 int ret; 7581 7581 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 7582 7582 7583 - if (!amdgpu_dpm) 7583 + if (!adev->pm.dpm_enabled) 7584 7584 return 0; 7585 7585 7586 7586 ret = si_set_temperature_range(adev);
+2 -2
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
··· 688 688 689 689 if (state == AMD_PG_STATE_GATE) { 690 690 uvd_v4_2_stop(adev); 691 - if (adev->pg_flags & AMD_PG_SUPPORT_UVD && amdgpu_dpm == 0) { 691 + if (adev->pg_flags & AMD_PG_SUPPORT_UVD && !adev->pm.dpm_enabled) { 692 692 if (!(RREG32_SMC(ixCURRENT_PG_STATUS) & 693 693 CURRENT_PG_STATUS__UVD_PG_STATUS_MASK)) { 694 694 WREG32(mmUVD_PGFSM_CONFIG, (UVD_PGFSM_CONFIG__UVD_PGFSM_FSM_ADDR_MASK | ··· 699 699 } 700 700 return 0; 701 701 } else { 702 - if (adev->pg_flags & AMD_PG_SUPPORT_UVD && amdgpu_dpm == 0) { 702 + if (adev->pg_flags & AMD_PG_SUPPORT_UVD && !adev->pm.dpm_enabled) { 703 703 if (RREG32_SMC(ixCURRENT_PG_STATUS) & 704 704 CURRENT_PG_STATUS__UVD_PG_STATUS_MASK) { 705 705 WREG32(mmUVD_PGFSM_CONFIG, (UVD_PGFSM_CONFIG__UVD_PGFSM_FSM_ADDR_MASK |
+2 -1
drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
··· 211 211 !hwmgr->pptable_func->pptable_init || 212 212 !hwmgr->hwmgr_func->backend_init) { 213 213 hwmgr->pm_en = false; 214 - ((struct amdgpu_device *)hwmgr->adev)->pm.dpm_enabled = false; 215 214 pr_info("dpm not supported \n"); 216 215 return 0; 217 216 } ··· 238 239 ret |= psm_set_performance_states(hwmgr); 239 240 if (ret) 240 241 goto err2; 242 + 243 + ((struct amdgpu_device *)hwmgr->adev)->pm.dpm_enabled = true; 241 244 242 245 return 0; 243 246 err2: