drm/amd/powerplay: check for invalid profile mode before switching
authorEvan Quan <evan.quan@amd.com>
Thu, 28 Mar 2019 01:46:36 +0000 (09:46 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 4 Apr 2019 15:48:05 +0000 (10:48 -0500)
Need to check for invalid profile mode settings before determining
to switch to that.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c

index 476a072027a64424193e26270a5ab24f754c4558..384c37875cd0a2e261caf63ed905532c3e608324 100644 (file)
@@ -4915,9 +4915,6 @@ static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, ui
        uint8_t min_active_level;
        uint32_t power_profile_mode = input[size];
 
-       smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
-                                               1 << power_profile_mode);
-
        if (power_profile_mode == PP_SMC_POWER_PROFILE_CUSTOM) {
                if (size != 0 && size != 4)
                        return -EINVAL;
@@ -4944,6 +4941,8 @@ static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, ui
        }
 
 out:
+       smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
+                                               1 << power_profile_mode);
        hwmgr->power_profile_mode = power_profile_mode;
 
        return 0;