diff options
author | Rex Zhu <Rex.Zhu@amd.com> | 2016-12-23 03:08:12 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-01-27 11:12:53 -0500 |
commit | 0d12570aaf5ddf5535569ae5c0ad46bb0aed4b01 (patch) | |
tree | dab2e275a574bbffa0d396e60dfd51b7408b6cc0 /drivers/gpu | |
parent | e5d03ac2b8bd6d738c8e1ed6ea9a6a164ce86d3c (diff) |
drm/amd/powerplay: fix bug dpm level unexpectly be reset to auto.
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c index ec36c0e28388..e04216ec7ee1 100644 --- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c +++ b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c | |||
@@ -38,10 +38,13 @@ | |||
38 | int pem_task_update_allowed_performance_levels(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) | 38 | int pem_task_update_allowed_performance_levels(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) |
39 | { | 39 | { |
40 | 40 | ||
41 | if (eventmgr == NULL || eventmgr->hwmgr == NULL) | ||
42 | return -EINVAL; | ||
43 | |||
41 | if (pem_is_hw_access_blocked(eventmgr)) | 44 | if (pem_is_hw_access_blocked(eventmgr)) |
42 | return 0; | 45 | return 0; |
43 | 46 | ||
44 | phm_force_dpm_levels(eventmgr->hwmgr, AMD_DPM_FORCED_LEVEL_AUTO); | 47 | phm_force_dpm_levels(eventmgr->hwmgr, eventmgr->hwmgr->dpm_level); |
45 | 48 | ||
46 | return 0; | 49 | return 0; |
47 | } | 50 | } |
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c index d66febe1aa60..bd4ca681e260 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | |||
@@ -69,7 +69,7 @@ int hwmgr_init(struct amd_pp_init *pp_init, struct pp_instance *handle) | |||
69 | hwmgr->usec_timeout = AMD_MAX_USEC_TIMEOUT; | 69 | hwmgr->usec_timeout = AMD_MAX_USEC_TIMEOUT; |
70 | hwmgr->power_source = PP_PowerSource_AC; | 70 | hwmgr->power_source = PP_PowerSource_AC; |
71 | hwmgr->pp_table_version = PP_TABLE_V1; | 71 | hwmgr->pp_table_version = PP_TABLE_V1; |
72 | 72 | hwmgr->dpm_level = AMD_DPM_FORCED_LEVEL_AUTO; | |
73 | hwmgr_init_default_caps(hwmgr); | 73 | hwmgr_init_default_caps(hwmgr); |
74 | hwmgr_set_user_specify_caps(hwmgr); | 74 | hwmgr_set_user_specify_caps(hwmgr); |
75 | 75 | ||